6
我代表休眠實體3科特林的類:重寫科特林的屬性setter引出兩個JPA @Id
@MappedSuperclass
abstract class Parent {
@Id @GeneratedValue @Column(nullable=false)
var id: Long? = null
}
@Entity
class Child1 {}
@Entity
class Child2 {
@Id @GeneratedValue @Column(nullable=false)
override var id: Long? = null
set(value) {
super.id = value
doSomething()
}
}
注意我需要重寫制定者id
調用doSomething
之後。這是我之前在Java中完成id的方式。
它建立正常,但是Hibernate不喜歡它:
A foreign key refering Child2 from ... has the wrong number of column. Should be 2.
從一些其他錯誤我懷疑重寫id
沒有正確重寫和Hibernate看到id
列的兩倍 - 從Parent
和Child2
。
你真的需要在'id'的改寫版本上添加註釋嗎? (沒有嘗試過我自己) – Xvolks
我也嘗試過,但是它會導致:'在實體映射中重複列:Child2列:id(應該用insert =「false」update =「false」映射) –