Macmanboy
2018-06-24 16:43
采纳率: 100%
浏览 1.3k
已采纳

关于hql中集合属性的条件查询语句怎么写

有两个实体student 与 exam,它们是多对多的关系,student中有 List examlist;
前台选择exam的id(考试编号)选项(可多选),如何查询参加过所选考试的学生?hql语句该怎么写呢,使用多个占位符写死不可取,因为不知道前台会选择几个考试选项。
有两个entity,要实现查询参加前台已选择考试的编号(可多选)的学生
1.Student
2.Exam
3.StuExam中间实体(Exam 与 Student)

class Student{
private int id;
........
@OneToMany(mappedBy="student",targetEntity="StuExam")
private List stuExamList = new ArrayList();

}

class Exam{

private int id;
........

@OneToMany(mappedBy="exam",targetEntity="StuExam")
private List stuExamList = new ArrayList();
}

class stuExam{

private int id;

@ManyToOne
@JoinColumn(name="examId)
private Exam exam;

@ManyToOne
@JoinColumn(name="studentId")
private Student student;

}

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

8条回答 默认 最新

  • 有梦想的老咸鱼 2018-06-26 02:49
    最佳回答

    你首先新建一个集合 ,这个集合 把你的多选的ID 全部放进来 这一步不会再详细问我
    然后建立sql 语句 循环数组长度,执行就好 如果你想要一个几何中
    不限麻烦 就联合查询 ,想简单一点就list追加

    评论
    解决 无用
    打赏 举报
查看更多回答(7条)

相关推荐 更多相似问题