从我在 Hibernate 文档/在线中读到的内容,听起来 Hibernate 没有处理多个结果集的能力。我希望在依赖 Hibernate 的应用程序中进行 MySQL DB 调用,这将返回多个结果集。
您使用了哪些与 Hibernate 一起“玩得很好”的解决方案,请记住这很可能是返回多个结果集的唯一调用?
谢谢!
从我在 Hibernate 文档/在线中读到的内容,听起来 Hibernate 没有处理多个结果集的能力。我希望在依赖 Hibernate 的应用程序中进行 MySQL DB 调用,这将返回多个结果集。
您使用了哪些与 Hibernate 一起“玩得很好”的解决方案,请记住这很可能是返回多个结果集的唯一调用?
谢谢!
AFAIK,你不能用休眠处理多个结果集。但我认为您不需要它 - 多个结果集很少可以映射到List<FooEntity>
. 您可以对返回多个结果集并手动处理它们的查询使用纯 JDBC。
我相信你已经看过这个@Ryan,但是为了别人(比如我):
对于 Sybase 或 MS SQL 服务器,以下规则适用:
该过程必须返回一个结果集。请注意,由于这些服务器可以返回多个结果集和更新计数,Hibernate 将迭代结果并将作为结果集的第一个结果作为其返回值。其他一切都将被丢弃。
从这里。
如果结果集来自存储过程,则可以使用javax.persistence.StoredProcedureQuery
类获取它们。确保所有结果集都包含以相同顺序排列的完全相同的列。hibernate 中的一个错误导致它期望所有结果集具有与第一个结果集相同的形式。