JPA Native Query映射

时间:2015-04-17 20:27:26

标签: spring-data-jpa

我在Spring Data JPA中编写了这个查询:

@Query(value = "SELECT x,y, sum(x,y) FROM table 
    WHERE x = ?1 groupby x,y ", nativeQuery = true)

我的实体类为

@Entity
class abc {
    int x;
    int y;
//setter and getter
}

如何将此查询的结果映射到POJO或Entity类?

PS:这有效:

@Query(value = "SELECT * FROM table 
    WHERE x = ?1 ", nativeQuery = true)

1 个答案:

答案 0 :(得分:1)

您必须将查询结果映射到创建的POJO,方法是将其.class传递给查询。这可以通过在实体管理器上调用createNativeQuery()来完成。例如。, List<abc> myList = (List<abc>)em.createNativeQuery("your query here", abc.class)。 abc.java应该有以下两件事

    1. 与查询的select子句中的列名匹配的属性名称和
    2. 默认构造函数