Как сделать так, чтобы объединение в Hibernate возвращало список вместо двумерного списка? - PullRequest
1 голос
/ 20 декабря 2010

Надеюсь, это простой вопрос.

Я делаю соединение в HQL в соответствии с:

FROM Apple a, Orange o WHERE a.price = o.price AND a.price > 1.99

Когда я делаю это, я возвращаю коллекцию, представляющую соединение. Тем не менее, каждый элемент в коллекции на самом деле представляет собой другую коллекцию, содержащую связанные яблоко и апельсин.

То, что я хочу, это список яблок, а то, что я получаю, это список яблок и апельсинов. Логично, я ищу:

All apples priced greater than 1.99 only when
there is also an orange at the same price.

Моя настоящая проблема в 50 раз сложнее, но я упростил ее до основной проблемы. Как мне исправить / изменить этот HQL-запрос, чтобы получить только один тип объекта?

Ответы [ 2 ]

2 голосов
/ 20 декабря 2010

После оставления моего комментария я перешел к документации.Вот пример тета-соединения из документов

select p from NameList list, Person p
where p.name = some elements(list.names)

, поэтому кажется, что то, что вы делаете, должно быть возможно

2 голосов
/ 20 декабря 2010

Измените ваш запрос немного:

SELECT a
FROM Apple a, Orange o WHERE ...
...