Динамический запрос на основе указанных столбцов - PullRequest
0 голосов
/ 30 сентября 2019

У меня большая таблица с ~ 20 полями. Могу ли я вернуть элементы списка, основанные на запросе, скажем, с id, create_on, температурой, не создавая конструкторы в классе T для каждой возможной комбинации полей?

Допустим, что-то вроде этого:

Query q = em.createQuery("SELECT id, created_on, temperature FROM Table");
result = (List<T>) q.setMaxResults(300).getResultList();

Это работает, если у меня нет конструктора для этого конкретного случая? Получу ли я список Т объектов?

1 Ответ

1 голос
/ 30 сентября 2019

Было бы удобнее использовать проекции , но если вы хотите иметь много разных комбинаций из 20 ваших столбцов, выбор их по отдельности дает вам тип возврата Object[] со значениями столбцов в соответствующихиндексы.

Так что нет, вы не получите List<T>, вы получите List<Object[]>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...