HQL在哪里明确定义?

时间:2013-12-19 18:39:33

标签: sql hibernate

我的IDE使用的语法与我熟悉的hibernate查询不同。我转到HQL文档(http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/queryhql.html),他们不解释如何派生此查询。它很简单,我必须找到一个语法定义,但我无法找到它。有人可以澄清我吗?

基本的HQL查询如下所示:

SELECT u FROM User u

在SQL中,我会这样写:

SELECT * FROM User; 

SELECT u.* FROM User AS u;

但是谁需要这种简单查询的额外复杂性。

HQL定义在哪里?

1 个答案:

答案 0 :(得分:2)

你必须以不同的方式来思考它,就像对Java对象运行SQL查询一样,因此它是混合性的。您不会在HQL中编写SELECT u From User u,只需编写from yourPackage.User即可检索User类的所有实例,即。所有映射到DB中行的对象。

HQL中的select子句更多用于访问类实例中的各个属性,例如select u.name from User u将获得所有name的列表,这些是Java对象中的属性映射到表格。