背景
我有一个需要实现的JPA级联批处理更新的问题。更新将使用大约10000个对象,并将它们一次合并到数据库中。对象的平均深度为5个对象,平均大小约为3 kb。持久提供程序是Oracle Toplink
使用TopLink自己的API(我没有任何经验)
所以我有几个问题
我会通过使用JPQL来减少标准合并的开销吗?如果我没有理解错的话,合并会导致整个对象树在被调用之前被克隆。是不是真的更快了?有什么办法可以加快这个过程吗?
使用JPA/TopLink批量插入
不知道使用JPQL是什么意思?如果您可以用JPQL update语句来表达更新逻辑,那么这样做将大大提高效率。
一定要把你的工作分批进行。还要确保您正在使用批处理写入和序列预分配。
瞧,
http://java-persistence-performance.blogspot.com/2011/06/how-to-improment-jpa-performance-by-1825.html
问题内容: 我想从Java程序执行批处理文件。 我正在使用以下命令。 但是问题是我想提供一个相对路径而不是绝对路径,以便我可以在任何组件上部署该Java项目。 项目的目录结构如下: 我想从“解析器”目录中的“ Main.java”文件中运行“ util”目录中的“ Server.bat”文件。 问题答案: 当Java运行时,您可以将Runtime.exec()与相对路径一起使用,相对方式是相对于当
主要内容:编写和执行本章介绍与批处理脚本相关的环境。 编写和执行 通常,要创建批处理文件,可以使用记事本或Ediplus之类的文本编辑器。 这是创建批处理文件的最简单的工具。 接下来是批处理脚本的执行环境。 在Windows系统上,这是通过命令提示符或来完成。 所有批处理文件都在此环境中运行。 以下是启动的两种方法 - 方法1 - 转到并双击文件。如下图所示 - 方法2 - 通过运行命令 - 以下图片显示在Windo
我编写了一个简单的spring批处理tasklet,它调用一个dao方法,该方法反过来执行一些删除操作。但我不确定该怎么称呼这份工作。 到目前为止,为了执行我的spring批处理作业,我使用了类似于这样的设置的quartz触发器。每个作业都有自己的xml文件,该文件具有读写器。 然后这里是一个作业文件本身的示例,包含一个读写器。 显然,这份新工作没有读者或作家。那么,我执行新任务的最佳/正确方式是
我正在尝试使用JobLauncher启动作业,代码如下 我在batchjob.xml中配置了具有相同id的作业 任何帮助都是值得的。Thnks
问题内容: 我有一个dao,它基本上使用hibernate将记录插入到一个表中,该dao用标记为注释,并且我有一个服务,该服务会生成其他一些东西,然后调用我的dao。我的服务也标注了使用。 我叫服务循环。我在dao上的插入内容是否可以批量或一个接一个地工作?我如何确定它们可以批量工作?hibernateTransaction Manager是否管理批处理插入? 我正在使用Oracle DB。