从 Hibernate 延迟加载多级对象
Lazy load with multi level objects from Hibernate
我有教室和用户 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
}
具有惰性的一对多关系。
我正在尝试获取包含用户及其角色的 ClassRoom,因此在 DAO 中:-
@Query("SELECT cr FROM ClassRoom as cr join fetch cr.users u ")
但是通过该查询,我得到了 classRoom 及其用户,但没有他们的角色。请建议从 classroom class.
中获取具有角色的用户的正确方法
获取角色:
@Query("SELECT cr FROM ClassRoom cr join fetch cr.users u join fetch u.roles r")
我有教室和用户 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
}
具有惰性的一对多关系。
我正在尝试获取包含用户及其角色的 ClassRoom,因此在 DAO 中:-
@Query("SELECT cr FROM ClassRoom as cr join fetch cr.users u ")
但是通过该查询,我得到了 classRoom 及其用户,但没有他们的角色。请建议从 classroom class.
中获取具有角色的用户的正确方法获取角色:
@Query("SELECT cr FROM ClassRoom cr join fetch cr.users u join fetch u.roles r")