如何在hibernate中执行sql查询

时间:2011-03-19 14:58:51

标签: java sql hibernate

我必须从表users_roles中选择记录,我正在使用hibernate。 但是我不想在java中为它做单独的类,所以

我正在考虑使用普通的SQL。我可以做到这一点,或者我必须为此制作java类。因为我只是提取像

这样的角色
select role from user_roles where email = abc@cdf.com

任何简单的例子

2 个答案:

答案 0 :(得分:10)

在Hibernate中,你必须使用类似SQL的语言HQL(Hibernate Query Language)。这看起来像是:

From user_roles where email = abc@cdf.com

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

编辑:另一种选择是:Using native queries in Hibernate

答案 1 :(得分:0)

您可以使用user538603发布的本机查询,也可以为该表创建实体;第二种方式在中期/长期可能会更好,因为你会完全利用Hibernate(标准和一切......)。 我建议原生查询只有你最需要编写你在HQL中无法做的查询(比如某些类型的联合,特定数据库函数和一些更多用例),但在这种情况下我建议你使用www.mybatis .org,更适合大量使用本机SQL查询。