2015-07-10 112 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」))})

那麼列將是「產品」