我需要在JPA中使用大量插入数据库的列表,其中我有大约35个大小的对象列表,我想在JPA中插入任何选项吗?
我已尝试对批量插入进行解码
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。
答案 0 :(得分:0)
该错误表示您的某个对象正在引用另一个尚未保留的新对象。
将关系标记为级联持久,或先保留相关对象。
您还可以设置持久性单元属性“eclipselink.persistence-context.commit-without-persist-rules”=“true”,它将始终在需要时级联保留。