Come faccio a selezionare una raccolta di entità e passarla a un bean come parametro usando EJBQL?

StackOverflow https://stackoverflow.com/questions/828995

Domanda

Sto facendo alcuni rapporti strani da un archivio di dati JPA.

Devo selezionare (usando EJBQL) un elenco di oggetti. Questi oggetti contengono una raccolta di entità. Ho una classe che è costruita da:

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

(notare che il terzo parametro è un elenco)

E voglio selezionare un elenco di questi bean usando GROUP BY , recuperando listParam , quindi vorrei scrivere una query che funzioni in questo modo:

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

In modo che le entità raggruppate vengano recuperate in un elenco e inserite nel terzo parametro. È possibile farlo in questo modo o devo creare due query che selezionano coppie distinte di param1 e param2 ; e recupera tutte le entità con valori param appropriati rispettivamente?

È stato utile?

Soluzione

Non è possibile, almeno in JPA 1.0 (e dubito che in JPA 2.0 sia diverso).

Altri suggerimenti

Penso che sarebbe molto meglio recuperare l'oggetto in base alle tue condizioni & amp; quindi utilizza @oneToMany annotaion nella tua entità per impostare l'elenco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top