[英]question on database query using hibernate in java with annotations
simple question regarding HQL(Hibernate query language) 有关HQL(休眠查询语言)的简单问题
so i have user class , that can hold a list of Projects, how do i take this out of the database depending on a username, 所以我有一个用户类,可以容纳一个项目列表,如何根据用户名将其从数据库中取出,
this is how i take out my user 这就是我删除用户的方式
String username = "stephen";
YFUser user = (YFUser) session.createQuery(
"select u FROM YFUser u where u.username = :username")
.setParameter("username", name).uniqueResult();
but i want to take out the list of projects 但我想拿出项目清单
here is the projects list within the class YFUser(my user class); 这是类YFUser(我的用户类)中的项目列表;
how would i query the database to get this list of projects 我将如何查询数据库以获取此项目列表
@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>();
List<Project> projects = (List<Project>) session.createQuery(
"select u.projects FROM YFUser u where u.username = :username")
.setParameter("username", name).list();
Just made the following change in your code. 只需对代码进行以下更改。
List <> user= (YFUser) session.createQuery( "select u FROM YFUser u where u.username = :username") .setParameter("username", name). 列表<> user =(YFUser)session.createQuery(“从YFUser中选择u,其中u.username =:username”).setParameter(“ username”,name)。 list() ; list() ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.