加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:34:34 所属栏目:Java 来源:网络整理
导读:使用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
使用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生成器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读