Ich habe eine Entität A
y B extends A
und versuchen, ein sanftes Löschen mit einer gemeinsamen Vererbungsstrategie zu erreichen.
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@SQLDelete("UPDATE A SET deleted = 1 WHERE id = ?")
A {
@Id long id;
boolean deleted;
}
@Entity
B extends A {}
Es scheint, dass Hibernate die Tabelle richtig setzt A
a deleted = 1
, sondern löscht auch den gesamten Eintrag aus der Tabelle B
. Ich würde diesen Eintrag natürlich gerne bewahren.
Irgendwelche Ideen dazu?
Ich verwende Hibernate 3.5.5 und annotationsbasierte Entitätsdefinition. Habe auch Hibernate 3.6.2 ausprobiert.