在执行本机查询后获取POJO列表

时间:2013-07-12 12:59:10

标签: hibernate spring-data spring-data-jpa

我正在使用存储过程和视图。我使用entityManager.createNativeQuery来调用它们。问题是createNativeQuery方法返回List<Object[]>,但我更愿意获得List<PojoName>。如何实现这一目标。我正在使用Hibernate,Spring Data Jpa。

我听说SqlResultsetMapping注释可以达到这个目的,但我没有找到任何例子。

请帮忙

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用@Query注释而不是createNativeQuery方法? 您可以在存储库中注释方法并使用本机查询:

@Query(value = "SELECT * FROM pojo_name p WHERE p.id between ?1 and ?2", nativeQuery = true)
List<PojoName> findByPojos(Long from, Long to);

答案 1 :(得分:0)

我遇到了类似的问题,带有多个连接的初始查询,并找到了此票证DATAJPA-223。看起来如果它是本机查询,即使使用SqlResultsetMapping,也不能返回不是实体的类型。