试图您可以使用SqlResultSetMapping和ConstructorResult达到你所需要的。
这是如何映射您的SQL结果集到您的POJO的例子:
Query q = em.createNativeQuery(
"SELECT c.id, c.name, COUNT(o) as orderCount, AVG(o.price) AS avgOrder " +
"FROM Customer c, Orders o " +
"WHERE o.cid = c.id " +
"GROUP BY c.id, c.name",
"CustomerDetailsResult");
@SqlResultSetMapping(
name="CustomerDetailsResult",
classes={
@ConstructorResult(
targetClass=com.acme.CustomerDetails.class,
columns={
@ColumnResult(name="id"),
@ColumnResult(name="name"),
@ColumnResult(name="orderCount"),
@ColumnResult(name="avgOrder", type=Double.class)
}
)
}
)
的可能的复制[春季数据JPA映射结果非实体POJO(http://stackoverflow.com/questions/29082749/spring-data-jpa-map-the-result-to-non-entity-pojo) –