【发布时间】:2015-05-15 07:39:03
【问题描述】:
我有一个如下的存储过程
CREATE PROCEDURE [dbo].[spConfiguration_test]
@ID int
AS
select empid,name from employee;
select * from address;
我想从 jpa 调用这个存储过程。所以我确实喜欢这个
DAO代码
public List test()
{
String execProce="exec spConfiguration_test 1";
System.out.println(execProce);
Query query = entityManagerUtil.entityManager.createNativeQuery(execProce);
return query.getResultList();
}
服务类代码
List test=serviceDaoImpl.test();
当我调试它时,List(test) 大小显示为 1,当我运行它时,它只给我第一个表的记录(选择 empid,员工姓名;)
但是我想要存储过程执行时第二张表的详细信息。
谁能指导我一下?
【问题讨论】:
-
什么 JPA 实现?什么版本的 JPA?
-
@NeilStockton 我正在使用 hibernate-jpa-2.0-api
-
在这种情况下,您唯一的选择是将您的存储过程分成 2 个......您只能从使用 JPA 2.1 的存储过程中获取多个结果集
-
@NeilStockton 你想让我把 JPA 升级到 2.1 吗?
-
@NeilStockton 你确定如果我升级到 JPA 2,1 那么我会得到列表大小为 2 并且如果有 n 个选择查询然后我会得到列表大小为 n 吗?
标签: java sql-server spring jpa stored-procedures