2015-07-10 90 views
0

我有以下实体结构。休眠@AttributeOverride没有效果

@Entity 
public class A { 

@Embedded 
private B b; 
... 
} 

@Embeddable 
public B{ 
@AttributeOverrides({ @AttributeOverride(name = "product", column = @Column(name = "gdb_product"))}) 
@Embedded private C c; 
... 
} 

@Embeddable 
public C{ 
private String product; 
... 
} 

但@AttributeOverride没有任何效果,因为数据库中没有改变。

使用的JAR: hierbenate 4.3.10决赛, HSQLDB 2.3.1

+0

如果我添加一个新的嵌入类型,例如相同类型的@Embedded私有cc和被覆盖的列是fdb_prdocukt比异常:实体的映射中的重复列:一列:produkt(应该用insert =“false”来映射更新=“假”) – Bajdu

回答

0

列名将会从 “产品” 到 “gdb_product” 的转变。

,如果你不使用

@AttributeOverrides({@AttributeOverride(名称= “产品”,列= @Column(name = “gdb_product”))})

那么列将是“产品”