Как привести Hibernate QueryList к пользовательскому классу - PullRequest
0 голосов
/ 11 декабря 2018

Я получил результат от Hibernate HQL query.list().Итак, все возвраты в Object[].Поля каждого элемента массива также находятся в Object[].Содержание правильное.

Итак, есть ли способ привести его к пользовательскому объекту Java?

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Вам не нужно кастовать, используя TypedQuery :

@PersistenceContext
private EntityManager entityManager; 

public List<Employee> findEmployees() {
     TypedQuery<Employee> query = entityManager.createQuery("SELECT e FROM Employee e", Employee.class);
     return query.getResultList();
}

Более того, это JPA API, и вы можете использовать его вместе с Hibernate или другим JPA провайдер.

0 голосов
/ 11 декабря 2018

Этого можно добиться с помощью .setResultTransformer(Transformers.aliasToBean(YourClass.class))

Каждое поле должно отображаться с проекцией, например:

.setProjection(
    Projections.projectionList()
    .add(Projections.property("propertyName"), "alias")
    //... other properties
)

Смотрите здесь для многих примеров

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