【发布时间】:2016-02-15 07:01:18
【问题描述】:
我在数据库中有一个过程,当我尝试迭代该结果时,它返回对象列表,我多次只得到一行。它没有指向循环中的下一条记录,
这是我的代码,
Query nativeQuery = entityManager.createNativeQuery("call getdata(?, ?, ?, ?)", Detail.class);
List<Detail> paymentAnalysisDetails=nativeQuery.getResultList();
for( Detail Details : paymentAnalysisDetails) {
System.out.println(Details.getStart_date());
}
我得到输出::
start_date end_date total_no_of_txns
2015-01-01 2015-01-30 10
2015-01-01 2015-01-30 10
但是在 mysql 输出中执行相同的过程时
start_date end_date total_no_of_txns
2015-01-01 2015-01-30 10
2015-02-01 2015-02-30 200
谁能推荐我
【问题讨论】:
-
JPA 2.1 具有用于存储过程执行的专用 API,因此您无需破解“本机查询”方法。也许你应该尝试一下
-
任意调用jpa存储过程的示例代码
-
你为什么不直接使用互联网搜索 JPA2.1 文档?
-
我推荐这篇关于从 JPA 2.1 调用存储过程的博文:thoughts-on-java.org/call-stored-procedures-jpa
标签: java jpa stored-procedures spring-data-jpa