Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用@AttributeOverride_Java_Hibernate_Jpa_Hibernate3 - Fatal编程技术网

Java 使用@AttributeOverride

Java 使用@AttributeOverride,java,hibernate,jpa,hibernate3,Java,Hibernate,Jpa,Hibernate3,我的可嵌入类如下所示 `@Embeddable public class AddressBean { private String streetAddress; private String address1; private String address2; private String cityName; private String stateName; private String zipCode; }` 并且嵌入的属性是 @Embedd

我的可嵌入类如下所示

`@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")),`

请帮助我如何做到这一点。提前感谢。

您是在问我们如何在编辑器中删除文本吗?您遇到的问题是什么?在上面的代码中,当使用session.save方法时,它会在数据库中插入3个对象的所有6个属性。这是默认机制。但我不希望为ESignAddress存储streetAddress,因为ESignAddress是代码中的APPLALTDIRECTION1ADDRESS。如果我删除esignAddress上面的streetAddress AttributeOverride语句,它将作为streetAddress列存储在DBSplit AddressBean中的两个嵌入式文件中,即StreetAddressBean和DefaultAddressBean@wypieprz谢谢我没注意到