从休眠中的两个表中获取数据

时间:2017-12-29 07:03:10

标签: spring hibernate

我必须从学生和用户表中获取学生数据,其帐户状态为真。在用户表中已提及帐户状态,学生的剩余信息在学生表中,我需要在特定学院注册的学生,因为我我必须检查在哪里条件下的college_id。我已经尝试了很多方法来加入表但是收到错误,请帮我摆脱这个。下面是我的代码

Query query=sessionFactory.getCurrentSession().createQuery("select stud.student_name, stud.college.college_id, stud.enroll_no, stud.enrollment_year from Student stud,User u where stud.college.college_id=:college_id and u.account_active=:account_active");
        query.setParameter("college_id", college_Id);
        query.setParameter("account_active", true);
        List<Student> list_1 = query.list()

1 个答案:

答案 0 :(得分:0)

你必须通过使用下面的pojo加入

Query query=sessionFactory.getCurrentSession().createQuery("
select stud.student_name, stud.college.college_id, stud.enroll_no, stud.enrollment_year 
from User u
join u.Student stud
join stud.college college
where college.college_id=:college_id 
and u.account_active=:account_active
");
query.setParameter("college_id", college_Id);
query.setParameter("account_active", true);
List<Student> list_1 = query.list()

如果您的User表中有学生关系,并且所有pojo必须在其中有另一个表的对象pojo