spring数据jpa findAll()工作不正常
我正在上课spring数据jpa findAll()工作不正常,spring,spring-data,Spring,Spring Data,我正在上课 @Entity @Table(name = "USR_E_GROUPS") public class GroupEntity { @Id @Column(name = "UIDUSERGROUP") @GenericGenerator(name = "generator", strategy = "uuid2") @GeneratedValue(generator = "generator") private String id; ....
@Entity
@Table(name = "USR_E_GROUPS")
public class GroupEntity {
@Id
@Column(name = "UIDUSERGROUP")
@GenericGenerator(name = "generator", strategy = "uuid2")
@GeneratedValue(generator = "generator")
private String id;
.........
@OneToMany(mappedBy = "group", cascade = CascadeType.PERSIST)
private List<UserGroupEntity> users;
UserGroupEntity也是如此
现在如果我使用grouprepository.findAll
它为每个组触发选择查询,并在UserGroupEntity的不同选择查询中触发。所以这花费了太多的时间。
我想让它通过join触发select,这样它将是一个单一的查询。这可能是一个问题
从
默认情况下,Hibernate3对集合和
单值关联的延迟代理获取。这些默认值
对大多数应用程序中的大多数关联都有意义
默认情况下,将延迟获取子对象。用于在单个查询中获取结果
在你的位置上
似乎它确实工作正常,但您只是希望它的行为有所不同。加入获取而不是延迟加载。。。
@Query("SELECT g FROM GroupEntity g JOIN FETCH g.users gu")
List<GroupEntity> findAllEager();