gpt4 book ai didi

java - 如何使用 CreateQuery 忽略 @Filter 标记的实体类

转载 作者:行者123 更新时间:2023-11-30 11:31:36 25 4
gpt4 key购买 nike

添加了一个java实体类@Filter

当使用带有hibernate服务的实体类时,所有的查询都会添加带有where条件的过滤器。我需要在一个案例中忽略这一点。我的意思是:

entityManager.CreateQuery("SELECT * from ABCTABLE where tenant_id=9999");

在上面的查询中,我添加了公共(public)过滤器 tenant_id 并且我必须为上面的查询忽略那个公共(public)过滤器。

最佳答案

您可以使用 Session.enableFilter(String filterName)Session.disableFilter(String filterName) 启用/禁用过滤器。因此,您可以在执行查询之前禁用过滤器,然后再启用它。请记住 EntityManager 不支持此功能,因此您可以访问 Hibernate session ,例如:

((Session)entityManager.getDelegate()).disableFilter(filterName);

关于java - 如何使用 CreateQuery 忽略 @Filter 标记的实体类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17079712/

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