1

我正在使用带有 sql server 2005 的休眠(3.3 vesion)。我必须将 10 万条记录插入数据库。由于我将 IDENTITY 用于主生成策略,因此我无法在休眠中进行批量插入。我尝试了 StatelessSession 并且无法获得任何性能。

任何人都可以提出一种提高性能的方法吗?

请帮忙。

4

2 回答 2

1

使用HibernateTemplate.saveOrUpdateAll(Collection entities)将提供更好的性能。

于 2012-12-24T15:46:26.937 回答
0

您的主要问题是防止 Hibernate 在内存中缓存您要插入的所有记录。如果您只在事务中批量插入记录,则可以使用 StatelessSession。如果你做其他操作,例如记录一些关于批量加载的统计信息,你应该在一定数量的记录之后调用 session.flush(),session.clear(),例如每 10K 条记录。

于 2012-12-24T18:16:14.900 回答