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

关于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条)

报告相同问题?

悬赏问题

  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失
  • ¥15 springboot+vue 集成keycloak sso到阿里云
  • ¥15 win7系统进入桌面过一秒后突然黑屏
  • ¥30 backtrader对于期货交易的现金和资产计算的问题
  • ¥15 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题
  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到