Мне нужно получить сущность и ее коллекцию из контроллера Rest, но у меня очень странное поведение с пружинными данными JPA.
У меня есть отношение ManyToMany между объектами с отложенной загрузкой.
@Entity
class Folder{
...
@ManyToMany(fetch = FetchType.LAZY)
protected Set<Tag> tags;
...getter setter
}
@Entity class Tag{
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "tags"
protected List<File> files;
}
И запрос JPQL в весеннем репозитории jpa
@Query("SELECT f FROM Folder f INNER JOIN f.tags t WHERE
f.id = :id")
Folder findFolderById(@Param("id") int id);
Итак, папкадолжен быть заполнен коллекцией тегов и избегать отложенной загрузки.
Но я вижу в журналах, что после присоединенного запроса в таблице тегов есть выборка, поэтому загрузка отложена.
Hibernate: выберите folder0_.id как id2_2 _... Hibernate: выберите tags0_.files_id ...
Я не хочу использовать тип выборки EAGER, потому что мне не всегда нужна коллекция Tag.Как я могу избежать этой Ленивой загрузки?