powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Jpa fetch и join fetch
1 сообщений из 1, страница 1 из 1
Jpa fetch и join fetch
    #38107637
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста принципиальную разницу.

Например две сущности PersonsRoom и Person.

PersonsRoom
{
@ManyToMany(fetch = FetchType.LAZY,cascade ={CascadeType.PERSIST,CascadeType.MERGE})
@JoinTable(name = "PROOM_PERSON",
joinColumns = @JoinColumn(name = "PROOM_ID",nullable = true),
inverseJoinColumns = @JoinColumn(name = "PERSON_ID",nullable = true))
Set<Person> persons
}

Person не имеет ссылки на PersonsRoom То есть между ними таблица PROOM_PERSON.

Если я хочу сразу когда достаю PersonsRoom по id достать и Persons, я делаю запрос

Код: java
1.
select distinct ps from PersonsRoom pr  join fetch pr.persons p where pr.id = ?1



Если я хочу посчитать количество persons в PersonsRoom (или получить сам список persons) я делаю

Код: java
1.
2.
select count(p) from PersonsRoom pr  join pr.persons p where pr.id = ?1
select p from PersonsRoom pr  join pr.persons p where pr.id = ?1



Так работает.
Но если я сделаю
Код: java
1.
2.
select count(p) from PersonsRoom pr  join fetch pr.persons p where pr.id = ?1
select p from PersonsRoom ps  join fetch pr.persons p where pr.id = ?1



ругается типа

owner не присутствует в select.

Я понял что неправильно понимаю join fetch vs join.


select p) from PersonsSet ps join fetch ps.persons p where ps.id = ?1
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Jpa fetch и join fetch
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]