Hibernate中对所有表的所有查询的通用条件限制
我已经在hibernate中为我的项目编写了很多查询。 现在我的要求已经改变,我在MySql中的所有表中都添加了一个新的列名ACTIVE。 我无权拒绝添加ACTIVE列。 ACTIVE字段可以保存值true或false,我也必须将其添加到条件中。 所以,我一直在想是否有一种方法可以在Hibernate中添加一个标准限制,这对我所做的所有查询都是通用的,而不是为我所做的每个查询都设置标准?
编辑:我想有点误会,对不起,我在打字时很着急。 某些其他用户已将ACTIVE列设置为true或false。 我需要的是一个全局过滤,仅针对我发出的每个查询的ACTIVE列为true的记录。
像这样的东西,但我希望hibernate为我发出的每个查询添加ACTIVE =’true’filter,
select name from table where and ACTIVE='true'
希望有意义。
感谢致敬,
Sunayan Saikia
您可以使用hibernatefilter来实现此目的。 详情请参阅doc
我建议你实现一个自定义拦截器,它应该拦截你的查询并在执行之前追加ACTIVE
标准。
拦截器细节可以在这里找到: Hibernate拦截器