我有以下两个JPA实体
public class User {
@Id
@Column(name = "user_id")
private String id;
private String userName;
private String courseStatus;
}
public class Course {
@Id
@Column(name = "course_id")
private String id;
@ManyToOne
@JoinColumn(foreignKey = @ForeignKey(name = "user_id"))
private User user;
private String userStatus
}
我有一个用户名列表(没有id(。我需要将用户表与基于IN子句传递的课程表连接起来,并检查userStatus和CourseStatus是否都是";有效";。有没有一种方法可以在春季数据JPA 中的单个查询中做到这一点
类似的东西
在您的CourseRepository
中
@Query("select c.user from Course c where c.user.userName in(:userNames) and c.user.courseStatus ='VALID' and c.userStatus='VALID'")
List<User> findAllValidUsers(@Param("userNames") List<String> userNames)