JPA开始交易瓶颈



我正在处理大量实体并使用休眠将其保存到数据库。我已经发现,如果表中有大量数据长达一分钟,则开始事务需要花费大量时间(从 Web 服务获取数据需要 20 小时,整个同步过程需要近 3 小时)。
有没有办法改进这种方法的持久性逻辑?

final EntityManager em = emf.createEntityManager();
try {
    final MfBranch branch = <get data from web service>
    em.getTransaction().begin(); // bottleneck
    em.merge(branch);
    em.getTransaction().commit();
} finally {
    DisposableUtils.closeQuietly(em);
}

我认为合并或事务提交操作很耗时是合理的,但为什么事务开始很耗时?

在 ObjectDB 中,将有关于大数据持久化在 JPA 中的性能问题的参考。

最新更新