从休眠中延迟加载多级对象



我有ClassRoom和User class:

@Entity
public class ClassRoom {
@Id
@GeneratedValue
private Long id;
@OneToMany(fetch = FetchType.LAZY)
private List<User> users;
// etc
}
@Entity
public class User{
@Id
@GeneratedValue
private Long id;
@OneToMany(fetch = FetchType.LAZY)
private List<Role> roles;
// etc
}

具有惰性的一对多关系。

我正在尝试在DAO中获取带有用户及其角色的教室:-

@Query("SELECT cr FROM ClassRoom as cr join fetch cr.users u "(

但是通过该查询,我正在获得 classRoom 及其用户,而不是他们的角色。请建议从课堂上获取具有角色的用户的正确方法。

获取角色:

@Query("SELECT cr FROM ClassRoom cr join fetch cr.users u join fetch u.roles r"(

最新更新