私はエンティティを持っていA
てB extends A
、結合された継承戦略でソフト削除をしようとしています。
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@SQLDelete("UPDATE A SET deleted = 1 WHERE id = ?")
A {
@Id long id;
boolean deleted;
}
@Entity
B extends A {}
Hibernate は table を に適切に設定しているようですが、 tableA
からdeleted = 1
エントリ全体も削除していますB
。もちろん、このエントリは保存したいと思います。
それに関するアイデアはありますか?
私は Hibernate 3.5.5 と注釈ベースのエンティティ定義を使用しています。Hibernate 3.6.2 も試しました。