【问题标题】:Getting List of POJOs after executing a native query执行本机查询后获取 POJO 列表
【发布时间】:2013-07-12 12:59:10
【问题描述】:
我正在使用存储过程和视图。我使用 entityManager.createNativeQuery 调用这些。问题是createNativeQuery 方法返回List<Object[]>,但我宁愿得到List<PojoName>。如何实现这一点。我正在使用 Hibernate、Spring Data Jpa。
我听说SqlResultsetMapping注解可以做到这一点,但我没有找到任何例子。
请帮忙
【问题讨论】:
标签:
hibernate
spring-data
spring-data-jpa
【解决方案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);
【解决方案2】:
我在使用多个连接的本机查询时遇到了类似的问题,并找到了这张票 DATAJPA-223。如果是本机查询,即使使用 SqlResultsetMapping,您也无法返回不是实体的类型。