Java 如何编写具有多个连接的Spring数据JPA规范?
我正在处理的项目是由JHipster生成的,它支持实体过滤,在后台使用Spring数据JPA规范 模型如下(JDL中): JHipster通过Java 如何编写具有多个连接的Spring数据JPA规范?,java,spring-data-jpa,jhipster,Java,Spring Data Jpa,Jhipster,我正在处理的项目是由JHipster生成的,它支持实体过滤,在后台使用Spring数据JPA规范 模型如下(JDL中): JHipster通过enrollmentId生成用于筛选出勤情况的样板文件,但我想扩展它,以便能够通过studentId和courseId进行筛选 那么,我如何实现执行以下查询的规范: 选择 出勤率.date,student.name作为学生,course.name作为课程 出席人数 加入注册 ON enrollment.id=Attention.enrollment\u i
enrollmentId
生成用于筛选出勤情况的样板文件,但我想扩展它,以便能够通过studentId
和courseId
进行筛选
那么,我如何实现执行以下查询的规范:
选择
出勤率.date,student.name作为学生,course.name作为课程
出席人数
加入注册
ON enrollment.id=Attention.enrollment\u id
加入学生
ON student.id=registration.student\u id
和studend.id=1
参加课程
ON course.id=registration.course\u id
和course.id=2;
以下是我的建议,我已经实现了简单方法创建规范和。以下是我的建议,我已经实现了简单方法创建规范和。jhipster中正在做一些工作:@GaëlMarziou我基于您链接中的代码实现了一个简单的解决方案:返回(root,query,builder)->builder.equal(root.join(考勤\注册)。join(注册\学生)。get(学生\ id),studentId)
。也许我不需要加入考勤
,因为我有一个根
,但它起了作用。你想提交答案让我接受吗?谢谢,但答案是你的,你可以发布。我很高兴链接起了作用。jhipster中正在进行工作:@GaëlMarziou我根据代码实现了一个简单的解决方案从您的链接:return(root,query,builder)->builder.equal(root.join(Attentications\uuu.enrollment)。join(enrollment\uu.student)。get(student\u.id),studentId)
。也许我不需要加入考勤
,因为我有一个根
,但它起了作用。你想提交答案以便我接受吗?谢谢,但答案是你的,你可以发布。我很高兴链接有帮助。
entity Student {
name String
}
entity Course {
name String
}
entity Enrollment {
}
entity Attendance {
date LocalDate
}
relationship OneToMany {
Student to Enrollment(student required),
Course to Enrollment(course required),
Enrollment to Attendance(enrollment required)
}
filter all
service all with serviceClass