gpt4 book ai didi

java - 使用 hibernate 过滤非原始类型

转载 作者:行者123 更新时间:2023-12-01 05:10:34 24 4
gpt4 key购买 nike

在我的数据库中,我不删除对象。相反,会进行软删除。表示 delted 标志设置为 true。这应该由 hibernate 使用 @Filter 注释进行过滤。这可行,但我遇到字段未过滤的问题。

例如,我有一个子类和一个包含子类的父类。如果子对象被删除并且父对象被加载,则父对象包含子对象(尽管已正确设置删除标志)。但我希望子对象能够像处理集合一样被过滤。有什么办法可以做到这一点吗?

我尝试将这个领域视为 Collection ,但这对我不起作用。

@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();
}

最佳答案

Hibernate 过滤器不适用于 @OneToOne 关系。

https://hibernate.onjira.com/browse/HHH-4026

解释是对该问题的评论:过滤器会改变关系的基数。

关于java - 使用 hibernate 过滤非原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12075054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com