如何在Hibernate中执行SQL查询

3

我需要从名为users_roles的表中选择记录,我正在使用Hibernate。但是我不想为此单独在Java中创建一个类,因此

我考虑使用普通SQL。我能这么做吗,还是必须要创建Java类?因为我只需要提取角色信息。

select role from user_roles where email = abc@cdf.com

任何相关的IT技术示例都可以。
2个回答

10

在Hibernate中,你需要使用类似SQL的语言HQL(Hibernate查询语言)。它看起来可能像这样:

From user_roles where email = abc@cdf.com

并为您检索整个映射的实体类。

编辑: 另一种方法是使用此链接:在Hibernate中使用本机查询


问题是我没有任何实体类。我只有数据库表。我该怎么办? - John
1
请看这个链接:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html - Michael Schubert
如果我使用本地查询来执行选择操作,那么如何执行该查询呢?我的意思是 query.executeupdate 还是 executequery。 - John

0
你可以使用用户538603发布的原生查询,也可以为该表创建一个实体;第二种方式在中/长期内可能会更好,因为您将充分利用Hibernate(标准和一切...)。 如果您大多需要编写无法在HQL中执行的查询(例如某些类型的联合、特定数据库函数和一些其他用例),我建议仅使用原生查询,但在这种情况下,我建议您使用更适合于大规模使用本地SQL查询的www.mybatis.org。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接