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

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

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

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

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

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

它调用Native SQL

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

如需更多帮助,请访问此处

使用JPA,您可以使用Hibernate使用entityManager.createNativeQuery(…)session.createSQLQuery(…)