Hibernate выберите с отличным - как это работает с внутренним объединением? - PullRequest
0 голосов
/ 13 марта 2012

Во-первых, я новичок в Hibernate.

В hibernate, если у вас есть объект, скажите, что у автора и автора есть коллекция книг (скажем, имя списка - «книги»). Если вы выполняете запрос Hibernate, используя следующий составленный мной запрос (еще не проверенный)

select distinct author from Author author inner join author.books as book

Что именно здесь будет делать отличное?

Причина, по которой я спрашиваю, заключается в том, что я не выбрал конкретное свойство в предложении select, например

select distinct author.name ...

Кроме того, что именно будет уникальным в возвращаемых объектах?

1 Ответ

3 голосов
/ 13 марта 2012

Прежде всего, если авторы пишут книги совместно, у вас есть ассоциация «многие ко многим», а не «один ко многим».

Тем не менее, запрос вернет список всех авторов, которые написали хотя бы одну книгу (это эффект внутреннего объединения). И каждый автор будет ровно один раз в возвращенном списке.

...