实体配置如下:
解放办法如下:
第一种办法(在 Repository 里面设置,使用 JOIN FETCH)
public interface IndicatorRepository extends BaseRepository<Indicator, String> {
@Query(value = "SELECT p FROM Indicator p JOIN FETCH p.indicatorCategory where p.id = ?1")
Indicator fetchIndicatorCategory(String id);
}
第二种办法(使用 Hibernate.initialize(Object))
public IndicatorGroupTree findByIdFetchParent(String id) {
return indicatorGroupTreeRepository.findById(id)
.map(o -> {
Hibernate.initialize(o.getParent());
return o;
}).orElse(null);
}