Java 优化HibernateTemplate的数据插入

Java 优化HibernateTemplate的数据插入,java,spring,hibernate,optimization,dao,Java,Spring,Hibernate,Optimization,Dao,我必须优化某个遗留工具的数据库(尤其是insert)性能。该工具是用Java编写的,对于数据访问层,Spring+HibernateTemplate是首选技术 实际问题是执行一些批量插入。我们必须通过调用HibernateTemplate.save()来插入超过50K的数据。这显然是一种非常低效的方法,但由于时间不够,我们现在无法更改实现 除了更改实现之外,还有哪些优化模式?如果您希望在不修改代码的情况下优化代码,我唯一能想到的是: 请尝试使用更大的值 为数据库使用更快的磁盘和计算机 如果您

我必须优化某个遗留工具的数据库(尤其是insert)性能。该工具是用Java编写的,对于数据访问层,Spring+HibernateTemplate是首选技术

实际问题是执行一些批量插入。我们必须通过调用HibernateTemplate.save()来插入超过50K的数据。这显然是一种非常低效的方法,但由于时间不够,我们现在无法更改实现


除了更改实现之外,还有哪些优化模式?

如果您希望在不修改代码的情况下优化代码,我唯一能想到的是:

  • 请尝试使用更大的值
  • 为数据库使用更快的磁盘和计算机

如果您已经准备好稍微更改代码,请遵循,并在插入数据时定期刷新和清除会话。或者使用无状态会话。

谢谢您的回答。我对hibernate和缓存方面没有太多的经验,但我想知道一些二级缓存解决方案是否有帮助?二级缓存会让事情变得更糟。当从数据库中取出内容时,缓存非常有用,以避免直接从缓存中获取数据库。但是,除了写入数据库之外,每个插入都必须写入缓存。