Java 如何使用Hibernate批处理

Java 如何使用Hibernate批处理,java,hibernate,Java,Hibernate,我有一个对象列表,我只想使用hibernate批处理保存这些对象 public void create(List<TransArchive> transArchives) { Session session = getCurrentSession(); Transaction tx = null; tx = session.beginTransaction(); for (TransArchive transArchive : transA

我有一个对象列表,我只想使用hibernate批处理保存这些对象

public void create(List<TransArchive> transArchives) {
Session session = getCurrentSession();
      Transaction tx = null;
      tx = session.beginTransaction();
          for (TransArchive transArchive : transArchives) {
              session.save(transArchive);
              } }
public void创建(列表跨归档){
会话会话=getCurrentSession();
事务tx=null;
tx=session.beginTransaction();
for(跨政府跨政府:跨政府){
session.save(跨架构);
} }

请帮助我了解如何在上述代码中使用批处理。对于hibernate批处理,您必须在配置文件中设置批大小属性

<property name="hibernate.jdbc.batch_size"> 50 </property>
50
稍后,按如下方式更新代码:

public void create(List<TransArchive> transArchives) {
  Session session = getCurrentSession();
  Transaction tx = null;
  tx = session.beginTransaction();
      for (int i=0;i<transArchives.size();i++) {
          //save the object
          session.save(transArchives.get(i));
          if( i % 50 == 0 ) // Same as the JDBC batch size
          { 
           //flush a batch of inserts and release memory:
           session.flush();
           session.clear();
          }
      } 
  tx.commit();
  session.close();
}
public void创建(列表跨归档){
会话会话=getCurrentSession();
事务tx=null;
tx=session.beginTransaction();

对于(int i=0;i对于hibernate批处理,您必须在配置文件中设置batch_Size属性

<property name="hibernate.jdbc.batch_size"> 50 </property>
50
稍后,按如下方式更新代码:

public void create(List<TransArchive> transArchives) {
  Session session = getCurrentSession();
  Transaction tx = null;
  tx = session.beginTransaction();
      for (int i=0;i<transArchives.size();i++) {
          //save the object
          session.save(transArchives.get(i));
          if( i % 50 == 0 ) // Same as the JDBC batch size
          { 
           //flush a batch of inserts and release memory:
           session.flush();
           session.clear();
          }
      } 
  tx.commit();
  session.close();
}
public void创建(列表跨归档){
会话会话=getCurrentSession();
事务tx=null;
tx=session.beginTransaction();
对于(int i=0;i的可能副本