在所有表的所有查询中,Hibernate的通用标准限制

我已经完成了在我的项目中为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'

希望这是有道理的。

感谢致敬,

Sunayan Saikia


为此,您可以使用hibernate过滤器。 详情请参阅文档


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

拦截器的细节可以在这里找到: Hibernate拦截器

链接地址: http://www.djcxy.com/p/37119.html

上一篇: Common criteria restriction in Hibernate for all queries for all tables

下一篇: Hibernate subselect with Criteria API: slow performance in MySql