Указание столбцов в JPQL SELECT приводит к ошибке литья

StackOverflow https://stackoverflow.com/questions/4235573

  •  26-09-2019
  •  | 
  •  

Вопрос

Когда я указываю столбцы в моем запросе JPQL / JPA 2.0, то есть select p.id, p.lastName, p.firstName from Profile p where p.group = :group Я получаю следующую ошибку: [Ljava.lang.Object; cannot be cast to com.profs.ws.Profile... Кто-нибудь знает, как решить эту проблему на литье?

То Profile Сам класс объекта имеет свойства следующих типов: String, int, and Collection. Отказ Свойства, которые я выбираю в запросе, являются одним из типов String или int.

Это было полезно?

Решение

Когда вы указываете свойства объекта, JPA возвращает список Object[]. Отказ Вы можете отбросить возвращаемое значение List<Object[] вместо List<Profile> чтобы избежать ClassCastException. Отказ Если вы используете Hibernate в качестве провайдера JPA, вы можете сопоставить предложение выбора на новый объект. Видеть Выберите пункт Документация для деталей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top