记录:jpa返回Iterable而不是list

来源:互联网 发布:搜狐域名邮箱 编辑:程序博客网 时间:2024/06/06 03:49

你可能会好奇为什么仓库返回的是一个Iterable<T>而不是List<T>,以及为什么需要花费而外的步骤第二代Iterable<T>并将它转换为List<T>.

O/RM通常会备份JDBC结果集中直接返回的实体列表.这样做将改善性能,并允许调用代码在数据库仍在向应用程序返回数据时立即开始执行.不过,从@Treasanctional方法中返回将会提交事务并关闭JDBC连接,从而关闭结果集.当O/RM返回一个List或者其他Iterable时,最好迭代列表中所有需要的部分,并在退出事务上下文之前将Iterable的内容复制到另一个集合中.浙江保证所有实体数据都能在事务关闭之前从数据库中正确读出.

0 0