Эквивалент TypedQuery для JPA 1.0 - PullRequest
1 голос
/ 25 мая 2011

Я довольно новичок в JPA и использую учебник Apress JPA2, чтобы выучить его.Я пытался сделать первый пример из книги.Следующая строка кода дает мне сообщение об ошибке:

TypedQuery query = em.createQuery («ВЫБЕРИТЕ ОТ ОТ сотрудника e», Employee.class);

, говоря, что TypedQuery не может быть разрешентип.Поработав некоторое время, я понял, что использую JPA версии 1, которая не содержит TypedQuery, а только интерфейс Query.

Мой вопрос: есть ли эквивалентное утверждение в JPA версии 1. Пожалуйста, помогите.Заранее спасибо.

1 Ответ

2 голосов
/ 25 мая 2011

Поскольку TypedQuery был представлен в JPA-2.0, нужно перейти к интерфейсу запросов.

1) Собственный запрос для сопоставления типа результата для запроса (потеря переносимости).

Query selectQuery = entityManager.createNativeQuery("SELECT
 e FROM Employee e", Employee.class);

2) Создание запроса и затем явное приведение его к типу результата (более предпочтительно).

Query selectQuery = entityManager.createQuery("SELECT e FROM Employee e")
List<Employee> employees = (List<Employee>)selectQuery.getResultList(); //Multiple Result
Employee employee = (Employee)selectQuery.getSingleResult(); //Single Result
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...