Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JPA中持久化Entity类型的数组列表_Jpa_Arraylist_Entity_Persist - Fatal编程技术网

如何在JPA中持久化Entity类型的数组列表

如何在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

如何在JPA中持久化Entity类型的数组列表

例如,有一个名为“Table”的实体。 我正在创建一个数组列表
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();