私のデータベースでは、オブジェクトを削除しません。代わりにソフト削除が実行されます。delted フラグが true に設定されていることを意味します。これは、@Filter アノテーションを使用して hibernate でフィルタリングする必要があります。これは機能しますが、フィールドがフィルタリングされないという問題があります。
たとえば、子クラスと子を含む親クラスがあります。子が削除され、親がロードされた場合、親オブジェクトには子オブジェクトが含まれます (deleted フラグは正しく設定されています)。しかし、コレクションで動作するように、子オブジェクトをフィルタリングしたいと思います。それを行う方法はありますか?
フィールドをコレクションのように扱ってみましたが、うまくいきませんでした。
@Entity
@FilterDef(name = deletedFilter, parameters = @ParamDef(name = deletedParam, type = "boolean"))
@Filter(name = deletedFilter, condition = ":deletedParam = deleted")
public class Child {}
@Entity
public class Parent {
@OneToOne
@Filter(name = deletedFilter, condition = ":deletedParam = deleted")
private Child child = new Child();
}