Hi i'm New to write HQL Query please help me..... my Hibernate have three ValueObjects ie.
@Entity
@Table(name="user")
public class UserVO {
@Id
@Column(name="S_ID")
private String s_id;
@Column(name="FIRSTNAME")
private String firstName;
private String email;
}
CourseVO class
@Entity
@Table(name="course")
public class CourseVO
{
@Id
@Column(name="S_ID")
public String s_id;
@Column(name="NAME")
public String name;
}
Skillset VO
@Entity
@Table(name="skillset")
public class SkillsetVO
{
@Id
@Column(name="S_ID")
public String s_id;
@Column(name="COURSE_ID")//Foreign Key "USER"
public String course_id;
@Column(name="USER_ID")//Foreign key "COURSE"
public String user_id;
@Column(name="TEACH_EXP")
public String teach_Exp;
}
Now How to get Values of FirstName,NAME,TEACH_EXP values using EMAIL of USER table using HQL
query
If you want to use join
syntax in HQL
you must work out your mapping
accordingly as joins are enabled by mapping.
@Entity class A { @OneToMany private List<B> bs; }
@Entity class B { @Basic int n; }
Enables
select b from A a inner join a.b where a = :id
But with your mapping this is not possible. Also bear in mind that in terms of efficiency most of the RDBMs
will perform an inner join on a where a.id = b.id
.
select u.firstName, c.name, s.teach_Exp
from UserVO u, CourseVO c, SkillsetVO s
where
u.s_id = s.user_id
and c.s_id = s.course_id
and u.email = :email
But I think that you must review you association. Since looks to me that SkillsetVO.user_id
should be SkillsetVO.User
(an association to a UserVO
entity and same for CourseVO
).
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.