在我的数据库中,我不删除对象。而是完成了软删除。表示将 delted 标志设置为 true。这应该由休眠使用@Filter 注释过滤。这可行,但我遇到的问题是字段没有被过滤。
例如,我有一个子类和一个包含子类的父类。如果子对象被删除并且父对象被加载,则父对象包含子对象(尽管已正确设置已删除标志)。但我希望像处理集合一样过滤子对象。有没有办法做到这一点?
我试着把这个领域当作收藏品,但这对我不起作用。
@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();
}