java – 如何在hibernate中启用批量插入?

前端之家收集整理的这篇文章主要介绍了java – 如何在hibernate中启用批量插入?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用hibernate,当我尝试启用批量插入
<property name="jdbc.batch_size">50</property>

我得到以下输出

[...] cfg.SettingsFactory INFO  - JDBC batch updates for versioned data: disabled
 [...] cfg.SettingsFactory INFO  - Order sql inserts for batching: disabled

然后这个:

[...] jdbc.AbstractBatcher DEBUG - Executing batch size: 1

从不超过批量:1基本.

我错过了一个设置?

解决方法

enable batching for both INSERT and UPDATE statements,您需要设置以下所有Hibernate属性
<property name="hibernate.jdbc.batch_size">30</property>
<property name="hibernate.order_inserts">true</property>
<property name="hibernate.order_updates">true</property>
<property name="hibernate.jdbc.batch_versioned_data">true</property>

如果您可以使用SEQUENCE<那么你不应该使用IDENTITY发电机,因为it disables batch fetching.

如果您不能使用SEQUENCE(例如MysqL),请尝试使用单独的机制来启用批量插入(例如jOOQ),而不是使用不会缩放并具有高性能损失的TABLE生成器.

猜你在找的Java相关文章