使用@AttributeOverride

时间:2015-01-13 22:53:24

标签: java hibernate jpa hibernate3

我的Embeddable类如下所示。

`@Embeddable
public class AddressBean {
    private String streetAddress;
    private String address1;
    private String address2;
    private String cityName;
    private String stateName;
    private String zipCode;
}`

嵌入属性

@Embedded
    @AttributeOverrides({
        @AttributeOverride(name="streetAddress", column=@Column(name="APPLALTSTREETADDRESS")),
        @AttributeOverride(name="address1", column=@Column(name="APPLALTADDRESS1")),
        @AttributeOverride(name="address2", column=@Column(name="APPLALTADDRESS2")),
        @AttributeOverride(name="cityName", column=@Column(name="APPLALTCITYADDRESS")),
        @AttributeOverride(name="stateName", column=@Column(name="APPLALTSTATEADDRESS")),
        @AttributeOverride(name="zipCode", column=@Column(name="APPLALTSTATEZIP"))
    })
    private AddressBean altAddress;

    @Embedded
    @AttributeOverrides({
        @AttributeOverride(name="streetAddress", column=@Column(name="APPLSTREETADDRESS")),
        @AttributeOverride(name="address1", column=@Column(name="APPLADDRESS1")),
        @AttributeOverride(name="address2", column=@Column(name="APPLADDRESS2")),
        @AttributeOverride(name="cityName", column=@Column(name="APPLCITYADDRESS")),
        @AttributeOverride(name="stateName", column=@Column(name="APPLSTATEADDRESS")),
        @AttributeOverride(name="zipCode", column=@Column(name="APPLSTATEZIP"))
    })
    private AddressBean applAddress;

    @Embedded
    @AttributeOverrides({
        @AttributeOverride(name="streetAddress", column=@Column(name="APPLALTDIRECTION1ADDRESS")),
        @AttributeOverride(name="address1", column=@Column(name="APPLESIGNADDRESS1")),
        @AttributeOverride(name="address2", column=@Column(name="APPLESIGNADDRESS2")),
        @AttributeOverride(name="cityName", column=@Column(name="APPLESIGNCITYADDRESS")),
        @AttributeOverride(name="stateName", column=@Column(name="APPLESIGNSTATEADDRESS")),
        @AttributeOverride(name="zipCode", column=@Column(name="APPLESIGNSTATEZIP"))
    })
    private AddressBean esignAddress;

我想为altAddress和applAddress存储streetAddress,但不为esignAddress存储。 这意味着,从上面的代码中,我需要修改语句

`@AttributeOverride(name="streetAddress", column=@Column(name="APPLALTDIRECTION1ADDRESS")),`

请帮我解决这个问题。提前谢谢。

0 个答案:

没有答案