如何在JPA中持久化Entity类型的数组列表
如何在JPA中持久化Entity类型的数组列表 例如,有一个名为“Table”的实体。 我正在创建一个数组列表如何在JPA中持久化Entity类型的数组列表,jpa,arraylist,entity,persist,Jpa,Arraylist,Entity,Persist,如何在JPA中持久化Entity类型的数组列表 例如,有一个名为“Table”的实体。 我正在创建一个数组列表ArrayList table=new ArrayList() 尝试使用entityManager.persist(表)持久化它但它不起作用。对此有什么解决方案吗?只需对其进行迭代,并一个接一个地坚持下去即可答案如下: EntityManagerFactory emf=Persistence.createEntityManagerFactory(“TDEMSPU”); em=emf.c
ArrayList table=new ArrayList()代码>
尝试使用entityManager.persist(表)持久化它代码>但它不起作用。对此有什么解决方案吗?只需对其进行迭代,并一个接一个地坚持下去即可答案如下:
EntityManagerFactory emf=Persistence.createEntityManagerFactory(“TDEMSPU”);
em=emf.createEntityManager();
em.getTransaction().begin();
List tempEnqList=tempEnqList();
for(Iterator it=tempEnqList.Iterator();it.hasNext();){
查询=it.next();
em.1(查询);
em.flush();
em.clear();
}
em.getTransaction().commit();
每次我都需要保留大量记录,而保留每条记录花费的时间太长。所以,找到一种一次保存整个列表的方法。@user1855852-实际上没有办法-没有批量操作来保存新的实体。如果要在事务中持久化实体,则提供程序将在事务结束时为所有实体生成一个优化的SQL。启用批写入,此操作可能会产生一个异常,以便重复访问数据库。@MariaMercedesWyssAlvarez我退出,确保您的异常不是因为此操作。如果在一个接一个地保存多个项目这样的情况下触发异常,将是jpa实现中的一个主要错误。是什么让您认为您的异常是由迭代和保存引起的?可以参考&对于batch insertshow,当这个答案本质上是一个副本时,它是否得到了大量的支持票?
EntityManagerFactory emf = Persistence.createEntityManagerFactory("TDEMSPU");
em = emf.createEntityManager();
em.getTransaction().begin();
List<Enquiry> tempEnqList = tempEnqList();
for (Iterator<Enquiry> it = tempEnqList.iterator(); it.hasNext();) {
Enquiry enquiry = it.next();
em.persist(enquiry);
em.flush();
em.clear();
}
em.getTransaction().commit();