Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
Java 如何使用hibernate创建本机查询从Oracle写入“全部插入”?_Java_Performance_Spring_Hibernate_Nativequery - Fatal编程技术网

Java 如何使用hibernate创建本机查询从Oracle写入“全部插入”?

Java 如何使用hibernate创建本机查询从Oracle写入“全部插入”?,java,performance,spring,hibernate,nativequery,Java,Performance,Spring,Hibernate,Nativequery,我试图将主任务旁边的许多信息作为线程插入表中,但似乎这还不够,不幸的是,性能是个大问题。 我一直在使用spring和hibernate,但还是个新手。 因为我一直在使用em.persist。 我从Oracle听说过INSERT ALL,但它不会与hibernate配合得很好,或者可能它不受支持,因为我找不到任何证据。 或者您能提出任何有助于提高插入性能的解决方案,如有任何意见,将不胜感激 这是save方法内部的一些代码 List<Obj> listOfObj; this.save(

我试图将主任务旁边的许多信息作为线程插入表中,但似乎这还不够,不幸的是,性能是个大问题。 我一直在使用spring和hibernate,但还是个新手。 因为我一直在使用em.persist。 我从Oracle听说过INSERT ALL,但它不会与hibernate配合得很好,或者可能它不受支持,因为我找不到任何证据。 或者您能提出任何有助于提高插入性能的解决方案,如有任何意见,将不胜感激

这是save方法内部的一些代码

List<Obj> listOfObj;

this.save(listOfObj);

public void save(listOfObj){
        for (int i = 0; i < listOfObj.size(); ++i) 
        {
           this.em.persist(listOfObj.get(i));
           if (i % 1000 == 0) 
           {
             this.em.flush();
             this.em.clear();
           }
}

请展示一些代码并描述一个特定的问题。使用SQL批插入可以更快地插入…只是一个想法。为什么您认为您需要全部插入,使用批插入通常也一样快。假设em.flush提交更新,那么这是一个坏主意。您应该在事务结束时只提交一次。@Issue Dev,您明白了吗?批量插入模式对于我的任务来说太慢。