Не работает FetchType.Lazy в отношениях ManyToOne

Есть две сущности Tea и TeaImage соответственно

@OneToMany(fetch = FetchType.LAZY)
@JoinTable(name = "tea_and_image",joinColumns = @JoinColumn(name = "tea_id"),inverseJoinColumns = @JoinColumn(name = "image_id"))
private Set<TeaImage> teaImages = new HashSet<>();

@ManyToOne(fetch = FetchType.LAZY)
@JoinTable(name = "tea_and_image",joinColumns = @JoinColumn(name = "image_id"),inverseJoinColumns = @JoinColumn(name = "tea_id"))
private Tea tea;

когда я делаю запрос на получение TeaImage:

@Transactional
public TeaImage getTeaImageByName(String name) {
    TeaImage teaImage = em.createQuery("select t from TeaImage t where t.linkImage = ?1",TeaImage.class)
            .setParameter(1,name)
            .getResultList().stream().findFirst().orElse(null);
    return teaImage;
}

выполняется join в связанную таблицу

select
    teaimage0_.id as id1_13_,
    teaimage0_.link_image as link_ima2_13_,
    teaimage0_1_.tea_id as tea_id1_10_ 
from
    tea_image teaimage0_ 
left outer join
    tea_and_image teaimage0_1_ 
        on teaimage0_.id=teaimage0_1_.image_id 
where
    teaimage0_.link_image=?

подскажите как сделать запрос чтобы загружалась только TeaImage без join в другие таблицы


Ответы (0 шт):