2010-05-31 67 views
1

關於HQL簡單的問題(Hibernate查詢語言)問題使用Hibernate與註釋的Java

,所以我有用戶類,可容納的項目清單,我如何藉此從數據庫中視在一個用戶名,

這是我拿出我的用戶

String username = "stephen"; 
YFUser user = (YFUser) session.createQuery(
     "select u FROM YFUser u where u.username = :username") 
     .setParameter("username", name).uniqueResult(); 

,但我想拿出的項目清單

這裏是項目列表中的類YFUser(我的用戶類);

我將如何查詢數據庫來獲取項目

@Entity 
@Table(name = "yf_user_table") 
public class YFUser implements Serializable,ILightEntity { 

......... 
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY) 
@JoinTable(name = "YFUSER_JOIN_PROJECT", joinColumns = { 
     @JoinColumn(name = "user_id") }, inverseJoinColumns = { 
     @JoinColumn(name = "project_id") }) 
private List<Project> projects = new ArrayList<Project>(); 

回答

1
List<Project> projects = (List<Project>) session.createQuery( 
     "select u.projects FROM YFUser u where u.username = :username") 
     .setParameter("username", name).list(); 
0

這個名單只是做在你的代碼如下變化。

列表<>用戶=(YFUser)session.createQuery( 「選擇ÙFROM YFUserÙ其中u.username =:用戶名」) .setParameter( 「用戶名」,名稱)。 list();