0

我需要在 JPA 中使用在数据库中批量插入列表,其中我有大约 35 个大小的对象列表,我想作为批量插入 JPA 中有任何选项吗?

我已经尝试过批量插入的 dis 编码

EntityManagerFactory factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
EntityManager em = factory.createEntityManager();

try {
        em.getTransaction().begin();

        for (int i = 0; i < batchList.size(); i++) {
            // Getting the object from the list by using loop
            BatchInfo batchInfo = batchList.get(i);
            em.persist(batchInfo);
        }

        em.getTransaction().commit();
}
catch(Exception e){}

但我得到这样的例外,

在同步期间,通过未标记为级联 PERSIST 的关系找到了一个新对象:com.cation.bean.Users@15655c9。

4

1 回答 1

0

该错误表明您的一个对象正在引用另一个尚未持久化的新对象。

要么将关系标记为级联持久化,要么先持久化相关对象。

您还可以设置持久性单元属性“eclipselink.persistence-context.commit-without-persist-rules”="true",它在需要时将始终级联持久化。

于 2013-06-24T13:31:12.133 回答