EclipseLink отказывается отображать собственный запрос на PostgreSQL на объект - PullRequest
0 голосов
/ 20 августа 2011

У меня есть класс сущностей JPA (один из многих), и я могу выполнять запросы JPQL, возвращая эту сущность без каких-либо проблем. Однако, когда я пытаюсь выполнить любой именованный собственный запрос, который выбирает все поля в базовой таблице, вместо сопоставления с сущностью и возврата списка этого типа сущности, я получаю java.util.Vector массивов объектов, содержащих набор результатов. То есть данные возвращаются, но не отображаются на объект. Это усугубляется поддельными обобщениями Java, потому что ошибка проявляется как NumberFormatException в анализаторе EL.

Мой запрос, код вызова:

return em.createNamedQuery("ClinicDoctor.findUnchangedByClinicSystemId",
                           ClinicDoctor.class)
    .setParameter(1, clinicSystemId)
    .getResultList();

Когда я переключаю ведение журнала EclipseLink на FINE и запускаю запрос JPQL, выбранные имена столбцов точно соответствуют именам столбцов, которые я выбираю в собственном запросе.

Я что-то упустил? Есть ли какой-то огненный обруч, через который я должен прыгнуть, чтобы заставить отображение работать?

1 Ответ

0 голосов
/ 20 августа 2011

Разве вы не знаете, сразу после того, как я задал этот вопрос, я обнаружил, что мне просто нужно было установить атрибут result-class для тега <named-native-query/> в моем orm.xml, и это сработало.

...