Java 如何使用Hibernate批处理
我有一个对象列表,我只想使用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
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的可能副本