根据我在Hibernate文档/在线阅读的内容,Hibernate似乎无法处理多个结果集。 我想在依赖Hibernate的应用程序中进行MySQL数据库调用,该调用将返回多个结果集。
您使用过哪些与Hibernate“相容”的解决方案,记住这可能是唯一需要返回多个结果集的调用?
谢谢!
根据我在Hibernate文档/在线阅读的内容,Hibernate似乎无法处理多个结果集。 我想在依赖Hibernate的应用程序中进行MySQL数据库调用,该调用将返回多个结果集。
您使用过哪些与Hibernate“相容”的解决方案,记住这可能是唯一需要返回多个结果集的调用?
谢谢!
List<FooEntity>
这样的结果。对于返回多个结果集的查询,您可以使用普通的JDBC并手动处理它们。我相信你已经看到了这个@Ryan,但是为了其他人(比如我)的利益:
对于Sybase或MS SQL服务器,以下规则适用:
该过程必须返回一个结果集。请注意,由于这些服务器可以返回多个结果集和更新计数,因此Hibernate将迭代结果并取第一个结果作为其返回值。其他所有内容都将被丢弃。
来自这里。
javax.persistence.StoredProcedureQuery
类获取它们。但请确保所有结果集都由相同的列以相同的顺序组成。Hibernate中的一个错误会导致它期望所有结果集与第一个结果集具有相同的形式。
SELECT
查询的一个结果集。 - BalusCStatement.getMoreResults()
- 我认为这会获取下一个结果集。 - Bozho