使用@Embedded忽略JPA 2.0 @AttributeOverride

时间:2013-01-30 12:27:17

标签: jpa

我有以下情况:

人员
| - 地址myAddress
| - 地址secondaryAddress

其中:
地址
| - 压缩myZip
| - Zip mySecondaryZip
| - 字符串名称

邮编
| - 国家myCountry
| - 字符串zipCode

国家
| - 字符串描述;

Address,Zip和Country类声明为@Embeddable()。人是@Entity。

myAddress具有以下JPA注释:

    @Embedded()
@AttributeOverrides({ @AttributeOverride(column = @Column(name = "myaddress_name"), name = "name"),
        @AttributeOverride(column = @Column(name = "myaddress_myzip_zipcode"), name = "myZip.zipCode"),
        @AttributeOverride(column = @Column(name = "myaddress_myzip_mycountry_description"), name = "myZip.myCountry.description"),
        @AttributeOverride(column = @Column(name = "myaddress_mysecondaryzip_zipcode"), name = "mySecondaryZip.zipCode"),
        @AttributeOverride(column = @Column(name = "myaddress_mysecondaryzip_mycountry_description"), name = "mySecondaryZip.myCountry.description") })
private Address myAddress = null;

使用eclipseLink和postgresql作为db列:

myaddress_myzip_zipcode
myaddress_myzip_mycountry_description

不是在person表中创建的。其他人都是正确创建的。 我们正在使用JPA 2.0和postgresql 9.2。为什么会这样?我错过了一些明显的东西吗?

由于

1 个答案:

答案 0 :(得分:1)

似乎存在3个嵌套级别的问题。

Ty最新版本,如果还没有工作则记录错误。