Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / EntityManager свой Specification с CriteriaBuilder / 5 сообщений из 5, страница 1 из 1
17.08.2017, 11:13
    #39506712
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EntityManager свой Specification с CriteriaBuilder
Добрый день !

по аналогии с JPA

для

EntityManager'a нужен свой Specification с CriteriaBuilder с произвольным типом значения на возврат .

Как такой задженерализировать ?

В Интерфейсе будет метод

??? find(Specification s);

Что хочу - передавая имя класса (Entity) Хочу указать ему максимально абстрактно , но типо выводимо - чтобы он вернул мне нужный ,указанный мной тип запроса ( предиката)

Пример :


Хочу по таблице выполнить агрегат - результат запроса будет сумма - передаю CriteriaBuilder в которой запрос выполняет и находит сумму по параметрам ...

или хочу вернуть коллекцию чего то по указанному типу ?


Вопрос такое возможно ?
...
Рейтинг: 0 / 0
17.08.2017, 13:14
    #39506797
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EntityManager свой Specification с CriteriaBuilder
Atum1,

смотрим, что имеется в Spring Data:
Код: java
1.
2.
3.
public interface Specification<T> {
    Predicate toPredicate(Root<T> root, CriteriaQuery query, CriteriaBuilder cb);
}

берем и имплементим в репозитории.

тынцы: 1 , 2
...
Рейтинг: 0 / 0
17.08.2017, 14:17
    #39506849
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EntityManager свой Specification с CriteriaBuilder
UsmanAtum1,

смотрим, что имеется в Spring Data:
Код: java
1.
2.
3.
public interface Specification<T> {
    Predicate toPredicate(Root<T> root, CriteriaQuery query, CriteriaBuilder cb);
}

берем и имплементим в репозитории.

тынцы: 1 , 2

Да все верно , вопрос именно как допилисть такой интерфейс -

под конкретную задачу - чтобы вернуть указанный , динамический тип ...

иногда нужно вернуть List<T>

а иногда нужно вернуть Long.class ( результат исполнения запроса SUM(цена) , или другой агрегат )
...
Рейтинг: 0 / 0
17.08.2017, 14:21
    #39506856
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EntityManager свой Specification с CriteriaBuilder
Более того тут все расписано для случая TypedQuery

https://www.ibm.com/developerworks/ru/library/j-typesafejpa/index.html
...
Рейтинг: 0 / 0
17.08.2017, 14:45
    #39506883
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EntityManager свой Specification с CriteriaBuilder
Atum1иногда нужно вернуть List<T> getResultList() Atum1а иногда нужно вернуть Long.class ( результат исполнения запроса SUM(цена) , или другой агрегат ) getSingleResult()
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / EntityManager свой Specification с CriteriaBuilder / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]