Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何获取具有多对多依赖关系的实体_Sql_Spring_Spring Boot_Spring Data_Spring Data Jpa - Fatal编程技术网

Sql 如何获取具有多对多依赖关系的实体

Sql 如何获取具有多对多依赖关系的实体,sql,spring,spring-boot,spring-data,spring-data-jpa,Sql,Spring,Spring Boot,Spring Data,Spring Data Jpa,这是我需要通过当前用户Id获取的项目实体: @Entity @Table(name = "project") public class Project implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToMany @JoinTable(name = "project_user", joinCol

这是我需要通过当前用户Id获取的项目实体:

@Entity
@Table(name = "project")
public class Project implements Serializable {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;

  @ManyToMany
  @JoinTable(name = "project_user",
           joinColumns = @JoinColumn(name="projects_id", referencedColumnName="id"),
           inverseJoinColumns = @JoinColumn(name="users_id", referencedColumnName="id"))
  private Set<User> users = new HashSet<>();
}

它应该像这样简单

User user = userRepository.findById(100L);
Set<Projects> projects = user.getProjects();
由于您的映射,JPA负责其余的工作

SELECT * FROM project WHERE id IN (SELECT projects_id FROM project_user WHERE users_id = ?);
User user = userRepository.findById(100L);
Set<Projects> projects = user.getProjects();