添加了@Filter
的一个java实体类。
在将实体类与hibernate服务一起使用时,所有查询都会在where where条件中添加过滤器。我需要忽略一个案例。我的意思是:
entityManager.CreateQuery("SELECT * from ABCTABLE where tenant_id=9999");
在上面的查询中,我添加了常用过滤器tenant_id
,我必须忽略上面的查询。
答案 0 :(得分:1)
您可以使用Session.enableFilter(String filterName)
和Session.disableFilter(String filterName)
启用/停用过滤器。因此,您可以在执行查询之前禁用过滤器,然后再启用它。请记住,EntityManager
不支持此功能,因此您可以访问Hibernate会话,例如:
((Session)entityManager.getDelegate()).disableFilter(filterName);