我正在使用Spring Boot,JPA和Hibernate。我有以下实体participantIds
,它与User
:
roles
当我读取用户时,hibernate会为每个附加角色生成一个选择,而不是使用Join。在纯Hibernate中,我会通过添加
来解决这个问题@Table
public class User {
@OneToMany(fetch = EAGER)
@JoinColumn(name = "role_id")
private Set<Role> roles;
// ...
}
但这似乎没有任何效果。
是否有可能为有关此实体的所有查询设置首选获取模式?
我找到了一个解决方法,我真的认为这是一种解决方法,因为我需要为每个查询指定它,是这样的:
@Fetch(FetchMode.JOIN)
答案 0 :(得分:0)
对此很晚, 但是您需要定义父实体和相关实体之间的联接
Join<MyEntity, RelatedEntity> join = root.join("relatedEntity");
root.fetch("relatedEntity");