Присоединение FetchMode не имеет значения для отношений ManyToMany в весенних репозиториях JPA

Я пытаюсь сделать это:

//...
class Person {
    @ManyToMany(fetch = FetchType.EAGER)
    @Fetch(FetchMode.JOIN)
    private Set groups;
//...
}

это генерирует n + 1 запросов, когда я делаюpersonRepository.findAll(); через репозиторий Spring JPA, как будто я нене имеет@Fetch задавать. (Один запрос сначала для получения всех людей, а затем один запрос для каждого человека для получения групп).

С помощью@Fetch(FetchMode.SUBSELECT) работает, хоть! Он генерирует только 2 запроса. (Один для всех, а затем один для групп). Так гибернация реагирует нанемного Получить параметры, только не.JOIN

Я также пытался удалитьEAGER доставать без удачи.

//...
class Person {
    @ManyToMany()
    @Fetch(FetchMode.JOIN)
    private Set groups;
//...
}

Я использую Spring JPA, и это код для моего хранилища:

public interface PersonRepository extends JpaRepository {
}

JOIN просто не работает через Spring JPA, или я делаю что-то не так?

Ответы на вопрос(2)

Ваш ответ на вопрос