使用list属性检查单值的hibernate查询

时间:2014-09-24 06:09:38

标签: java hibernate jpa

我有两个实体类。

1.Course.java
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id; 
private String name;



2.Student.java
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id; 
private String name;
@ManyToMany
private List<Course> course;

现在我需要一个学生列表,其中课程id = 1或课程id为null; 查询类似&#34; FROM学生st WHERE st.course = 1或课程id为null&#34;。 如何在hql中编写此查询?

1 个答案:

答案 0 :(得分:1)

您需要加入:

select s from Student s inner join s.courses c where c.id = 1

请注意,我选择在此查询中将字段course重命名为courses:学生有很多课程,而最终的 s 会明确说明。