2011-06-01 34 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