Ich habe drei Kotlin die Klassen repräsentieren Hibernate Entitäten:Zwingende Kotlin Eigentum Setter führt zu zwei 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()
}
}
Hinweis Ich brauche die Setter außer Kraft zu setzen für id
doSomething
danach zu rufen. So habe ich es vorher in Java gemacht.
Es baut richtig, aber Hibernate ist es nicht mag:
A foreign key refering Child2 from ... has the wrong number of column. Should be 2.
Von einem anderen Fehler ich die außer Kraft gesetzt id
vermuten, ist nicht richtig außer Kraft gesetzt und Hibernate sieht die id
Spalten zweimal - von Parent
und Child2
.
Müssen Sie wirklich Anmerkungen zu der überschriebenen Version von 'id' hinzufügen? (Ich habe es nicht versucht) – Xvolks
Ich habe das auch versucht, aber dann führt es zu: 'Wiederholte Spalte im Mapping für Entität: Child2 Spalte: id (sollte mit insert =" false "update =" false ")' 'zugeordnet werden –