我正在使用 Spring Boot 开发 REST 应用程序,并且正在尝试优化查询的性能。我目前正在使用findAll导致性能问题的存储库。代码如下:
个人实体
@Entity
@Table(name = "cd_person")
@Data
@NoArgsConstructor
public class Person {
....
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "password_id")
@Fetch(FetchMode.JOIN)
private Password password;
....
@ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
@JoinTable(name = "cd_person_role",
joinColumns = @JoinColumn(name = "person_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
@Fetch(FetchMode.JOIN)
private Set<Role> roles = new HashSet<>();
}
Run Code Online (Sandbox Code Playgroud)
密码实体
@Entity
@Table(name = "cd_password")
@Data
@NoArgsConstructor
public class Password { …Run Code Online (Sandbox Code Playgroud)