大量数据批量插入

大量数据保存时(全部是新增数据,只有插入场景,没有更新场景),有什么方式提高效率?EntityManager.persist()只能插入单个实体,上万条数据for循环效率太差;DataManager.commit()可以批量保存,但是是更新或插入操作(merger),先查询是否存在,不存在插入,存在更新,效率也不高。请问,有没有支持批量插入并且效率高的方式??

你好,
批量写入默认没有打开。

可以在你的 app.properties 添加下列配置开启:

eclipselink.jdbc.batch-writing = jdbc
eclipselink.jdbc.batch-writing.size = 1000

参考 EclipseLink 文档

EntityManager.persist() 添加实体后,用 Transaction.commit() 提交。