Wynik zapytania jako Tuple dla zaytań JPQL

Wynik zapytania jako Tuple dla zaytań JPQL
P1
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:150
0

Czy TypedQueries tworzone przez zapytania JPQL mogą zwracać wynik jako Tuple?
Pytam bo moje próby wyrzucają błąd a przykłady jakie znalazłem w internecie zwracają Tuple ale tylko dla TypedQueries zbudowanych przez obiekty CriteriaQuery ?

Koziołek
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:13 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

Generalnie nie da się takiej sztuczki zrobić. Powodem jest konstrukcja samego API JPA. Tuple zostało wprowadzone w JPA 2 niejako wraz Criteria API (choć nie jest to zrobione w prost). Niestety sama implementacja interfejsu Tuple jest zazwyczaj ukrywa. W przypadku Hibernate klasa TupleImpl siedzi w AbstractEntityManagerImpl.

Najprostszą metodą jest stworzenie własnej implementacji Tuple (nie jest to trudne ponieważ można posiłkować się kodem Hibernate), która pozwalała by na mapowanie Object[] > Tuple.

//edit: by prawidłowo określić poszczególne typy w Tuple uzywany jest intrefejs Selection, który jest pobierany z... CriteriaQuery.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
edytowany 1x, ostatnio: Koziołek
P1
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:150
0

Dzięki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.