【发布时间】:2011-04-02 07:06:41
【问题描述】:
我在网上发现了一些相互矛盾的信息。有谁知道 Hibernate 过滤器是否会影响生成的 sql,还是只是在从数据库读取数据时过滤数据?
【问题讨论】:
-
请记住,过滤器只会在使用 TypedQuery 接口时应用,因此 'em.find(entityClass, primaryKey)' 不会应用过滤器
我在网上发现了一些相互矛盾的信息。有谁知道 Hibernate 过滤器是否会影响生成的 sql,还是只是在从数据库读取数据时过滤数据?
【问题讨论】:
Hibernate 过滤器影响生成的 SQL 的 where 子句。
Introduction to Hibernate Filters 是一篇关于过滤器的好文章,并提供了一个演示应用程序允许使用它们。
【讨论】:
如果您在 Hibernate 中使用 show_sql"(+"format_sql") 启用 SQL,
并使用启用的过滤器执行查询,您将看到结果。
例如:
select
item0_.ID as ID0_
from
ITEMS item0_
where
item0_.deleted = 'FALSE' <-- here is filtering
【讨论】: