2011-06-01 27 views
1

是否可以获取唯一的表值而不需要获取所有的反转集合pesent ni其他关联表?Hibernate HQL只提取表值?

例如:

------------------- 
User 
------------------- 
id int primary key 
name varchar 
------------------- 

------------------- 
Client 
------------------- 
id int primary key 
name varchar 
id_user int foreign-key ->User.id 
------------------- 

在HQL查询“用户的”我想只获取用户而不是整个集客户端的。

+0

这将在默认情况下,如果你启用了延迟加载,不叫'user.getClients()'发生。如果你需要它发生,不管怎样,使用Bivas的解决方案,但要小心试图访问客户端将抛出一个异常。 – 2011-06-01 14:26:46

回答

2

有可能要求HQL中的特定字段,但它需要有一个匹配的构造函数来启用对象创建。

 
class User { 
    // ... methods, fields 

    User(Long id, String name) { 
     // set fields 
    } 
} 

和你的HQL的样子: select new(id, name) from User