【问题标题】:Hibernate HQL or CriteriaHibernate HQL 或标准
【发布时间】:2011-08-25 03:52:35
【问题描述】:

我是休眠新手。我看到一些查询示例是用 HQL 编写的,有些是使用标准和投影编写的。我四处搜索,发现关于何时使用 HQL 和何时使用标准的信息很少。哪种方式更受欢迎?为什么?

【问题讨论】:

    标签: hibernate hql


    【解决方案1】:

    如果您的查询在 where 子句中需要动态数量的字段,并且您不知道先验,请使用条件。如果您的查询始终具有相同的 where 子句,但您可能会替换值,请使用 hql。

    您也可以在后一种情况下使用标准。

    重点是不要用一堆字符串连接动态构造你的 hql where 子句。

    【讨论】:

      【解决方案2】:

      我更喜欢 hql 而不是标准,并建议尽可能使用 hql。

      使用 hql,您可以创建命名查询,这些查询在启动时进行解析,如果有错误,可以尽早提供反馈。我相信,预解析也使它们在运行时更有效率。

      我还认为 hql 比标准代码更具可读性。

      【讨论】:

      • 我同意,除非您需要动态构造实际查询
      猜你喜欢
      • 2010-09-16
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多