Sql 如何获取具有多对多依赖关系的实体
这是我需要通过当前用户Id获取的项目实体: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
@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();