背景
我对需要实施的 JPA 级联批处理更新有疑问。更新将获取大约 10000 个对象,并立即将它们合并到数据库中。对象的平均深度为 5 个对象,平均大小约为 3 kb 持久性提供程序是 Oracle Toplink
这会占用大量内存并需要几分钟才能完成。
我环顾四周,发现了 3 种可能性:
循环通过标准 JPA 合并语句并以特定间隔刷新
使用 JPQL
使用 Toplink 自己的 API(我没有任何经验)
所以我有几个问题
我会通过使用 JPQL 来减少标准合并的开销吗?如果我理解正确,合并会导致整个对象树在被调用之前被克隆。它实际上更快吗?有什么技巧可以加快这个过程吗?
如何使用 Toplink API 进行批量合并?
我知道这是主观的,但是:有没有人有在 JPA/Toplink 中进行大型级联批量更新的最佳实践?也许我没有考虑到什么?
相关问题