【问题标题】:Are Hibernate filters only applied after the data has been loaded from db?仅在从数据库加载数据后才应用休眠过滤器吗?
【发布时间】:2011-04-02 07:06:41
【问题描述】:

我在网上发现了一些相互矛盾的信息。有谁知道 Hibernate 过滤器是否会影响生成的 sql,还是只是在从数据库读取数据时过滤数据?

【问题讨论】:

  • 请记住,过滤器只会在使用 TypedQuery 接口时应用,因此 'em.find(entityClass, primaryKey)' 不会应用过滤器

标签: java hibernate orm filter


【解决方案1】:

Hibernate 过滤器影响生成的 SQL 的 where 子句

Introduction to Hibernate Filters 是一篇关于过滤器的好文章,并提供了一个演示应用程序允许使用它们。

【讨论】:

    【解决方案2】:

    如果您在 Hibernate 中使用 show_sql"(+"format_sql") 启用 SQL, 并使用启用的过滤器执行查询,您将看到结果。

    例如:

    select
        item0_.ID as ID0_     
    from
        ITEMS item0_ 
    where
        item0_.deleted = 'FALSE' <-- here is filtering
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      • 2020-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多