【问题标题】:createSQLQuery to HQLcreateSQLQuery 到 HQL
【发布时间】:2011-02-01 09:21:00
【问题描述】:

首先,我是 Spring MVC 和休眠的新手。前辈告诉我,在我们的项目中,他们在很多地方都使用 createSQLQuery 来触发 sql,现在他要我做一个详细的列表,所有的都可以转换为 HQL,哪些不能。

我之前没用过createSQLQuery和HQL,我怎么告诉他哪个createSQLQuery可以转HQL,哪个不行。

【问题讨论】:

    标签: hibernate spring-mvc


    【解决方案1】:

    基本上,您需要学习 Hibernate 和 HQL 才能回答这个问题。

    从实践来看,以下几种 SQL 查询通常不能转换为 HQL:

    • 针对未由 Hibernate 映射的表或视图的查询
    • SELECTFROM 子句中带有子查询的查询(如果没有这些子查询就无法将它们重写为等效形式)
    • 使用UNIONINTERSECTEXCEPT 进行查询。
    • 使用 DBMS 特定功能的查询

    另请注意,HQL 查询有时会产生次优 SQL,因此出于性能原因,某些查询可以用手工制作的 SQL 表示。

    另请参阅:

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2018-09-27
      • 2017-07-27
      • 1970-01-01
      相关资源
      最近更新 更多