我将使用JPA(Eclipselink)执行返回多个结果集的SQL Server存储过程。
据我所知,调用SP最简单的方法是:
entityManager.createNativeQuery("exec sp_name").getResultList();
执行存储过程后,我只能读取单个(或第一个)ResultSet
。请问有什么方法可以获取下一个结果集(或结果列表)吗?
我将使用JPA(Eclipselink)执行返回多个结果集的SQL Server存储过程。
据我所知,调用SP最简单的方法是:
entityManager.createNativeQuery("exec sp_name").getResultList();
执行存储过程后,我只能读取单个(或第一个)ResultSet
。请问有什么方法可以获取下一个结果集(或结果列表)吗?
我无法针对EclipseLink做出具体回答,也不确定JPA规范的要求,但是JPA的大多数功能都是受Hibernate启发的,并且Hibernate的存储过程限制是:
该过程必须返回一个结果集。请注意,由于这些服务器可以返回多个结果集和更新计数,因此Hibernate将迭代结果并取第一个结果作为其返回值。其他所有内容都将被丢弃。
我的猜测是JPA定义了相同的限制。