JPA可以批量更新吗?把 |写 |像 GAE/J 中 pm.makePersistentAll() 那样插入
我在这里搜索了多个讨论。有人可以给我一个快速而直接的答案吗?
如果使用 JPA 无法进行批量更新,如果我不使用事务,而只使用以下流程
em = emf.getEntityManager
// do some query
// make some data modification
em.persist(..)
// do some query
// make some data modification
em.persist(..)
// do some query
// make some data modification
em.persist(..)
...
em.close()
会怎样:在性能方面,这与批量更新相比如何,以及与单个事务提交相比如何,测量通过对数据存储服务器的 RPC 调用、每个请求的 CPU 周期等。在 em.close() 之前对 em.persist(..) 的每次调用是否都会触发对数据存储服务器的 RPC 调用?
非常感谢您的任何回复!
I searched through multiple discussions here. Can someone just give me a quick and direct answer?
And if with JPA you can't do a batch update, what if I don't use transaction, and just use the following flow:
em = emf.getEntityManager
// do some query
// make some data modification
em.persist(..)
// do some query
// make some data modification
em.persist(..)
// do some query
// make some data modification
em.persist(..)
...
em.close()
How does this compare to batch update with regard to performance, and compare to a single transaction commit, measured by RPC calls to datastore server, CPU cycles per request, or so. Does every call to em.persist(..) before em.close() trigger a RPC call to the datastore server?
Thanks very much for any response!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论