0
我遇到了hibernate的一個奇怪的錯誤,很可能是由於不正確的使用它,但我想知道是否有任何方法來找到它的根本原因,並可能補救它。休眠約束違規/錯誤回滾
目前,我有一個類層次結構,看起來像:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "tbl_class_a)
public ClassA {
...
private int propA;
...
}
@Entity
@Table(name = "tbl_class_b")
public ClassB extends ClassA {
...
@Column(unique = true)
private int propB;
...
}
@Entity
@Table(name = "tbl_class_c")
public ClassC extends ClassC {
...
private int propC;
...
}
我已經廣泛使用所有這三個類的對象的持久性和刪除,一切似乎直到我考慮對性能的限制來正常進行, ESP。關於持久性。
現在我實例化一個類C的對象newObj,該對象的propB值等於所有準備好的持久對象都已準備好了它的propB值。我試圖堅持下去,並且正如所料,違反了約束條件,我試圖回滾事務。我期望newObj的所有痕跡都會被刪除,但是會發生一些非常奇怪的事情。在C和B類的表中,對newObj的所有引用都被刪除,但A類表中的屬性仍然存在,並且據我所知,不可挽回。爲什麼??
你每使用MySQL的機會/ MyISAM的結束? – ChssPly76 2009-10-22 21:14:49
我正在使用MysQl 5.0.75。我並沒有覺得這是數據庫的問題,而是映射器。 – user194877 2009-10-22 21:50:58