如何将Hibernate QueryList转换为自定义类

时间:2018-12-11 09:32:17

标签: java hibernate casting

我从Hibernate HQL query.list()获得了结果。因此,返回全部在Object[]中。数组中每个项目的字段也位于Object[]中。内容正确。

那么,是否有将其转换为自定义Java对象的方法?

谢谢

2 个答案:

答案 0 :(得分:3)

您可以使用.setResultTransformer(Transformers.aliasToBean(YourClass.class))

每个字段都应与投影映射,例如:

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

查看here以获得许多示例

答案 1 :(得分:1)

您无需使用TypedQuery进行投射:

<Foo>

此外,这是@PersistenceContext private EntityManager entityManager; public List<Employee> findEmployees() { TypedQuery<Employee> query = entityManager.createQuery("SELECT e FROM Employee e", Employee.class); return query.getResultList(); } API,您可以将其与JPA或其他Hibernate提供程序一起使用。