Как выбрать коллекцию сущностей и передать ее бину в качестве параметра с помощью EJBQL? - PullRequest
1 голос
/ 06 мая 2009

Я делаю странные отчеты из хранилища данных JPA.

Мне нужно выбрать (используя EJBQL) список объектов. Эти объекты содержат коллекцию объектов. У меня есть класс, который построен по:

FOOBean(String param1, 
    String param2, 
    List<Entity> listParam)

(обратите внимание, что третий параметр - это список)

И я хочу выбрать список этих бинов, используя GROUP BY, выбирая listParam, поэтому я хотел бы написать запрос, который работает так:

      SELECT new FOOBean(
               e1.param1, 
               e1.param2,
               e1) 
               FROM Entity e1
               GROUP BY e1.param1, e1.param2

Так что сгруппированные сущности извлекаются в список и вставляются в третий параметр. Можно ли сделать это таким образом, или мне нужно создать два запроса, которые выбирают различные пары param1 и param2; и выбирает все сущности с соответствующими значениями параметров соответственно?

Ответы [ 2 ]

1 голос
/ 20 мая 2012

Это невозможно, по крайней мере, в JPA 1.0 (и я сомневаюсь, что в JPA 2.0 это отличается).

0 голосов
/ 11 сентября 2010

Я думаю, что было бы намного лучше извлечь объект в зависимости от вашего состояния, а затем использовать аннотацию @oneToMany в вашей сущности для настройки списка.

...