使用Spring数据JPA

问题描述

我有以下两个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是否均为“ VALID”。是否可以在spring数据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)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...