在Hibernate中实现了散装插入,但记录记录了行插入行,如日志中所示



尝试使用API插入表格:使用Hibernate进行相同的使用,由于每100个记录后我都在冲洗会话,因此预计将执行100个记录的批次查询,但是日志显示了每行的单个查询。冬眠?

public void bulkInsert(List<PlatinumUserInfo> ptInfo) 
    {
        try
        {
        Session session=hibernateTemplate.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
        int count=1;
        for(PlatinumUserInfo record:ptInfo)
        {
            try
            {
            if(count % 100 == 0) { 
                session.flush();
                session.clear();
                tx.commit();
                tx=session.beginTransaction();
            }
            session.save(record);
            count++;
            }
        catch(Exception e)
        {
            logger.info("rolling back txn !");
            session.clear();
            tx.rollback();
            tx=session.beginTransaction();
        }
        }   
        tx.commit();
        session.close();
        }
        catch(Exception e)
        {
            logger.info("exception occurred while bulk insertion !"+e);
        }
    }

日志:

Hibernate:插入yt_platinum_user(id_platinum_user,email,first_name,insert_date,is_fresco_updated,is_infinity_updated,is_mo_updatient,is_mo_updated,_mo_updated,lind_name,link_rewrite,link_rewrite,link_rewrite,link_rewrite,link_rewrite,link_rewrite,link,电话,title,title,title,title,title,distup_date(null?,, null?,,?,,?,,?,?,?,?,?(Hibernate:插入yt_platinum_user(id_platinum_user,电子邮件,first_name,insert_date,is_fresco_updated,is_infinity_updated,is_mo_updated,is_mo_updated,lind_name,link_name,link_rewrite,link_rewrite,link_rewrite,link_rewrite,link_rewrite,link_ewrite,link_ewrite,thite,title,title,title,dipts_date(值(??,?,?(Hibernate:插入yt_platinum_user(id_platinum_user,电子邮件,first_name,insert_date,is_fresco_updated,is_infinity_updated,is_mo_updated,is_mo_updated,lind_name,link_name,link_rewrite,link_rewrite,link_rewrite,link_rewrite,link_rewrite,link_ewrite,link_ewrite,thite,title,title,title,dipts_date(值(??,?,?(

如果要使用批处理程序,则需要启用JDBC批处理处理:

hibernate.jdbc.batch_size 20

最新更新