我从Hibernate HQL query.list()
获得了结果。因此,返回全部在Object[]
中。数组中每个项目的字段也位于Object[]
中。内容正确。
那么,是否有将其转换为自定义Java对象的方法?
谢谢
答案 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
提供程序一起使用。