我的是Maven快速入门项目,我创建了两个班级Employee&Address

时间:2018-07-06 19:29:43

标签: hibernate spring-mvc

这是我的Employee类

package com.niit;

公共类员工{

private int employeeId;
private String name;

现在如何在地址类中添加currentAddresspermanentAddress

Address address;


public Address getAddress() {
    return address;
}
public void setAddress(Address address) {
    this.address = address;
}
public int getEmployeeId() {
    return employeeId;
}
public void setEmployeeId(int employeeId) {
    this.employeeId = employeeId;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

}

这是我的地址课程

package com.niit;

public class Address {

private String Address;
private String City;
public String getAddress() {
    return Address;
}
public void setAddress(String address) {
    Address = address;
}
public String getCity() {
    return City;
}
public void setCity(String city) {
    City = city;
}

}

这是我的Spring.xml文件

<bean id="Employee" class="com.niit.Employee">
    <property name="Address" ref="Address"></property>
    <property name="employeeId" value="101"></property>
    <property name="name" value="abc"></property>
</bean>


<bean id="Address" class="com.niit.Address">
    <property name="Address" value="whitefield"></property>
    <property name="City" value="Banglore"></property>
</bean>

1 个答案:

答案 0 :(得分:1)

您可以使用@Embeddded和@AttributeOverrides批注在Employee实体中执行此操作。

    @Column(name=”ADDRESS”)
    @Embedded
    @AttributeOverrides({
    @AttributeOverride(name=”street”, column=@Column(name=”CURRENT_STREET_NAME”)),
    @AttributeOverride(name=”city”, column=@Column(name=”CURRENT_CITY_NAME”)),
    @AttributeOverride(name=”state”, column=@Column(name=”CURRENT_STATE_NAME”)),
    @AttributeOverride(name=”pincode”, column=@Column(name=”CURRENT_PIN_CODE”))})
    private Address currentAddress;

    @Embedded
    private Address permanentAddress;

与此类似的xml配置如下所示:

<attributes>
    <id name="id">
        <column name="fld_id"/>
        <generated-value generator="generator" strategy="SEQUENCE"/>
        <temporal>DATE</temporal>
        <sequence-generator name="generator" sequence-name="seq"/>
    </id>
    <version name="version"/>
    <embedded name="embeddedObject">
        <attribute-override name"subproperty">
            <column name="my_column"/>
        </attribute-override>
    </embedded>
    <basic name="status" optional="false">
        <enumerated>STRING</enumerated>
    </basic>
    <basic name="serial" optional="true">
        <column name="serialbytes"/>
        <lob/>
    </basic>
    <basic name="terminusTime" fetch="LAZY">
        <temporal>TIMESTAMP</temporal>
    </basic>
</attributes>

注意:请根据您的需要修改此代码,因为这只是示例。