使用spring数据JPA中的IN子句连接两个表



我有以下两个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)

最新更新