【问题标题】:How to execute normal SQL query in Hibernate without HQL?如何在没有 HQL 的情况下在 Hibernate 中执行普通 SQL 查询?
【发布时间】:2014-07-30 05:36:38
【问题描述】:

我有一个非常复杂的 Join 查询来从 DB 中选择几个项目,并且它不涉及返回此表所需的任何更新。 这就是为什么,我不想使用 HQL(Hibernate Query Language,而是想作为一个简单的 SQL 查询来执行。

是否可以在休眠中执行涉及 3 个不同表的普通 SQL - 连接查询?我使用 Java - Struts 框架。

如果你说这是不可能的,那么我必须坚持使用 HQL,我会在这里发布查询,我需要你的帮助来写下基于 HQL 的类(表)创建和基于 HQL 的查询字符串。

另外,请给我一个包含几个或三个表连接的示例查询以及如何为 SQL 设置参数。

【问题讨论】:

    标签: java sql hibernate hql


    【解决方案1】:

    从下面的代码行你可以使用任何带有休眠的查询

    它调用 Native SQL

    session.createSQLQuery("SELECT * FROM table as a join table1 as b  on a.id = b.id ").list();
    

    如需更多帮助,请转至here

    【讨论】:

    • 谢谢尼拉夫。我在设置参数时看到问题。您是否知道为 SQL 查询分配参数?你能告诉我一些关于如何设置参数的例子吗?
    • @Gersh :: 您可以提供哪种参数查询以便我可以帮助您
    • 请查看此链接并尝试在那里提出您的意见。 link
    • 我使用了您的意见,但查询在执行时失败。请点击我发布的上述链接。
    • @gersh :: 检查链接我给出了答案希望对你有帮助
    【解决方案2】:
    • 通过 JPA,您可以使用 entityManager.createNativeQuery(...)
    • Hibernate 有 session.createSQLQuery(...)

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 2014-05-01
      • 2018-12-17
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 2018-07-01
      相关资源
      最近更新 更多