【发布时间】:2017-05-12 22:11:31
【问题描述】:
Hibernate 非常适合代码可读性和数据库可移植性
但是我意识到 Hibernate 需要大量内存。这是一个例子
休眠版本
String hql = "FROM Employee";
Query query = session.createQuery(hql);
List results = query.list(); // this list is limited my the size of my RAM
JDBC 版本
ResultSet resSet = connection.executeQuery("SELECT * FROM Employee");
while (resSet.next()) {
// This resSet is not limited to my RAM
}
因此,如果我有一个返回数十万行的查询,我应该更好地使用 JDBC 来处理它,因为这样我就可以按顺序处理每一行,而这不会占用我所有的 RAM。
我说的对吗?或者 Hibernate 是否有任何类似于 ResultSet 对象的“流列表”,不会“淹没”RAM?
【问题讨论】: