如何在没有HQL的情况下在Hibernate中执行普通的SQL查询?

时间:2014-06-09 16:15:16

标签: java sql hibernate hql

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

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

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

另外,如果你能给我一个带有一对或三个表连接的示例查询以及如何设置SQL的参数。

2 个答案:

答案 0 :(得分:1)

从下面的代码行可以使用任何带有hibernate的Query

调用Native SQL

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

获取更多帮助,请转到here

答案 1 :(得分:1)

使用JPA,你可以在那里使用Hibernate的sessionManager.createNativeQuery(...)session.createSQLQuery(...)