问题标签 [scrollableresults]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
68 浏览

hibernate - 如何使用 Hibernate ScrollableResults 获取列名?

我有下面的代码,它工作正常。但我需要获取列标题。有没有办法从 ScrollableResults 获取 ResultSet 引用?我注意到 AbstractScrollableResults 有 ResultSet,但我无法处理它。

任何人都知道如何获取列标题?提前致谢。

0 投票
2 回答
392 浏览

java - 加入许多不同实体时如何使用 ScrollableResults 进行休眠查询

我正在使用 Spring Boot 端点从数据库查询中返回结果。在 TypedQuery 上使用 getResultList() 时效果很好。但是我知道我将不得不管理非常大的数据集。我正在研究通过休眠使用 ScrollableResults 但我无法弄清楚如何实际引用每一行的内容。

我已经尝试过 results.get(0)、results.get(0)[0]、results.getLong(0)、Object[] 行与 Object 行等。在所有选项上使用和不使用 toString()。我所做的没有什么比 java 对象引用更多的了。我也尝试过投射并得到“无法投射错误”。有时我得到一个错误,“查询指定一个持有者类”。不确定这意味着什么,因为我的条件查询是通过加入 1 个或多个实体而构建的,其中实体和选定的列事先不知道。所以我实际上并没有指定一个类。它们的实体和选择由用户输入指定。有什么想法吗?谢谢!

更新:我可以做 System.out.println(scroll.getType(0)); 在这种情况下观察很长时间。但是当我尝试保存那么长的 (.getLong(0)) 时,我得到了错误,“查询指定了一个持有者类”。或者再次无法投射错误。

0 投票
0 回答
56 浏览

hibernate - 没有事务的休眠 ScrollableResults

我有一段代码可以迭代 ScrollableResults 并对每个元素进行一些计算。迭代被事务包围。

我使用 ScrollableResults 因为我不想将所有项目加载到内存另一方面我不想让事务长时间保持打开状态,因为迭代可能需要一些时间。我省略了开始和提交事务,我仍然能够迭代结果集。这种情况的最佳解决方案是什么?我应该长时间保持交易开放还是根本不使用交易?