如何在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

batch size: 1基本上没有。

我是否缺少设置?

回答:

原来在这种情况下缺少的是:

<property name="order_inserts">true</property>

现在我明白了

 [...] cfg.SettingsFactory INFO  - Order SQL inserts for batching: enabled

...

[...] Executing batch size: 2

频繁得多(任何大于1的值基本上都意味着它成功完成了批量插入)。

hibernate.jdbc.batch_versioned_data也可能有用。

jdbc:mysql:// localhost:3306 / batch?rewriteBatchedStatements =

true类型连接字符串也可能以某种方式相关。

https://forum.hibernate.org/viewtopic.php?p=2374413,另请参阅

以上是 如何在hibernate中启用批量插入? 的全部内容, 来源链接: utcz.com/qa/397385.html

回到顶部