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 ?
- Rejestracja:ponad 14 lat
- Ostatnio:ponad 12 lat
- Postów:150
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.
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.