当前位置: 首页 > 面试题库 >

使用JPA EntityManager进行批量插入

郭浩穰
2023-03-14
问题内容

有没有一种方法可以使用JPA EntityManager使用批处理插入。我知道没有直接方法可以实现这一目标,但是必须有某种方法可以实现这一机制。

实际上,对于每一次插入操作,我要花300毫秒,我想减少使用批量插入而不是单次插入的时间。

这是我目前正在执行的用于单次插入的代码

        @PersistenceContext(unitName = "testing")
        EntityManager eM;

        Query querys = this.eM.createNativeQuery(insertQuery);
        for (String s : someList) {
            //setting parameters
            querys.executeUpdate();
        }

提前致谢。


问题答案:

可以进行使用JPA成批写操作,但它是高度依赖于具体的实现你的持久性提供数据库和JDBC驱动程序。例如,本文介绍了如何使用EclipseLink JPA
2.3和Oracle数据库启用批量写入(优化#8)。在您的特定环境中查找类似的配置参数。



 类似资料:
  • 问题内容: 如果使用https://github.com/felixge/node- mysql之类的 东西,如何将大量插入MySQL中 问题答案: 使用嵌套数组可以进行大容量插入,请参见github页面 嵌套数组变成分组列表(用于批量插入),例如 变成 您只需插入一个嵌套的元素数组。 这里给出一个例子 注意:是一个包装在数组中的数组数组 还有用于批量插入的完全不同的node-msql软件包

  • 问题内容: 如果使用https://github.com/felixge/node- mysql之类的 东西,如何将大量插入MySQL中 问题答案: 使用嵌套数组可以进行大容量插入,请参见github页面 嵌套数组变成分组列表(用于批量插入),例如 变成 您只需插入一个嵌套的元素数组。 这里给出一个例子 注意:是一个包装在数组中的数组数组 还有用于批量插入的完全不同的node-msql软件包

  • 问题内容: 我有许多记录需要输入到表中。在查询中执行此操作的最佳方法是什么?我是否应该进行循环并在每次迭代中插入一条记录?或者,还有更好的方法? 问题答案: 从MySQL手册 使用VALUES语法的INSERT语句可以插入多行。为此,请包括多个列值列表,每个列值括在括号内并用逗号分隔。例:

  • 我想用Django更新一个表-类似这样的原始SQL: 我的第一个结果是这样的——但这很恶心,不是吗? 有没有更优雅的方式?

  • 我正在做一个大批量插入在拉威尔像 这将执行批量插入,一次查询,但仍同时插入多行。 问题是,当我使用时,行不会插入到Algolia中。那么,我怎样才能批量插入到阿尔戈利亚呢? 我不想循环通过我的行和做一个插入一次,因为这将花费额外的请求

  • 问题内容: 我需要通过REST API的Batch端点将大量节点及其之间的关系插入到Neo4j中,大约每秒5k记录(仍在增加)。 这将是24x7连续插入。每条记录可能只需要创建一个节点,而其他记录可能需要两个节点并创建一个关系。 是否可以通过更改程序或修改Neo4j的设置来提高插入件的性能? 到目前为止,我的进度: 1.我已经使用Neo4j进行了一段时间的测试,但无法获得所需的性能 测试服务器盒: