2010-05-31 79 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();