2013-09-26 74 views
2

除此之外,如果是以這種方式執行此操作的正確模式,則問題是在Hibernate中,給定的@MappedSuperclass可能會將overriden屬性設置爲一個@Transient或以任何'其他方式'忽略它?Hibernate @AttributeOverride導致將屬性設置爲@Transient

鑑於映射超:

@MappedSuperclass 
public abstract class MappedSuperclassEntity { 
    private Integer field; 
    public Integer getField() {return field;} 
    public void setField(Integer field) {this.field = field;} 
} 

回答

1

那是不可能的。 Javadoc @AttributeOverride

(必需)被映射到持久性 屬性的列。映射類型將保持不變,如嵌入類或映射超類中定義的那樣。

你可以看看三個inheritance strategies for JPA here其中一個設計。