Hibernate。多个结果集

问题描述 投票:3回答:3

从我在Hibernate文档中读到的内容来看,听起来Hibernate不具备处理多个结果集的能力。 我想在一个依赖Hibernate的应用程序中调用MySQL DB,并返回多个结果集。

你使用了哪些与Hibernate "玩得好 "的解决方案,并牢记这很可能是唯一会返回多个结果集的调用?

谢谢

java hibernate jdbc multiple-resultsets
3个回答
5
投票

AFAIK,你不能用hibernate处理多个结果集。但我认为你不需要它--多个结果集很少能映射到像以下这样的结果 List<FooEntity>. 对于返回多个结果集的查询,你可以使用普通的JDBC,并手动处理它们。


0
投票

我相信你已经看到了这个@Ryan,但是为了其他人(比如我)。

对于Sybase或MS SQL server来说,以下规则适用于:

存储过程必须返回一个结果集。请注意,由于这些服务器可以返回多个结果集和更新次数,Hibernate将对结果进行迭代,并将第一个是结果集的结果作为其返回值。其他所有结果都将被丢弃。

此处.


0
投票

如果结果集来自存储过程,可以使用 javax.persistence.StoredProcedureQuery 类。确保所有的结果集都是由相同顺序的列组成。hibernate中的一个bug导致它期望所有的结果集与第一个结果集的形式相同。

© www.soinside.com 2019 - 2024. All rights reserved.