1

我已经在 hibernate 中为我的项目编写了很多查询。现在我的要求发生了变化,并且在 MySql 中的所有表中都添加了一个新的列名 ACTIVE。我无权拒绝添加 ACTIVE 列。ACTIVE 字段可以保存值 true 或 false,我也必须将其添加到标准中。所以,我一直在想有没有一种方法可以在 Hibernate 中添加一个标准限制,这对于我所做的所有查询都是通用的,而不是为我所做的每个查询都设置该标准?

编辑:我想有点误解,很抱歉,我打字时很着急。ACTIVE 列将已被其他用户设置为 true 或 false。我需要的是仅针对我触发的每个查询的 ACTIVE 列为 true 的记录进行全局过滤。

像这样的东西,但我希望休眠为我触发的每个查询添加 ACTIVE='true' 过滤器,

select name from table where <other-conditions-here> and ACTIVE='true'

希望这是有道理的。

谢谢并恭祝安康,

苏纳扬·赛基亚

4

2 回答 2

2

我建议您实现一个自定义拦截器,它应该ACTIVE在执行之前拦截您的查询并附加条件。

拦截器详细信息可以在这里找到:Hibernate Interceptors

于 2012-11-19T06:24:33.153 回答
2

您可以为此目的使用休眠过滤器。有关详细信息,请参阅文档

于 2012-11-19T06:57:29.200 回答