【发布时间】:2016-06-24 10:40:10
【问题描述】:
我需要在 3 个表中插入/更新超过 15000 行。所以这是 45k 总插入。
在网上阅读后我在hibernate中使用了Statelesssession,它最适合批处理,因为它没有上下文缓存。
session = sessionFactory.openStatelessSession;
for(Employee e: emplList) {
session.insert(e);
}
transcation.commit;
但是这段代码需要一个多小时才能完成。
有没有办法一次性保存所有实体对象? 保存整个集合而不是一个一个地做?
编辑:是否有任何其他框架可以提供快速插入?
干杯!!
【问题讨论】:
-
你尝试过
hibernate.order_inserts和hibernate.order_updates的简单会话吗?你能否展示一下当你保存一个 Employee 时执行了哪些 SQL 语句?