hibernate导入大量数据时,为了避免内存中产生大量对象,在编码时注意什么,如何去除?
1 Session session = sessionFactory.openSession(); 2 Transaction tx = session.beginTransaction(); 3 for ( int i=0; i<100000; i++ ) { 4 Customer customer = new Customer(.....); 5 session.save(customer); 6 if ( i % 20 == 0 ) { //20, same as the JDBC batch size 7 //flush a batch of inserts and release memory: 8 session.flush(); 9 session.clear(); 10 } 11 } 12 tx.commit(); 13 session.close();
hibernate导入大量数据时,为了避免内存中产生大量对象,在编码时注意什么,如何去除?
这个问题,我如果我没记错的话,hibarnate官方手册中就说明了,也有demo,你可以查查;
具体的就是
http://zhidao.baidu.com/question/2201283544888578828.html?qbl=relate_question_3
【签名→→→】【****知其然知其所以然****】
工具只能帮助我们解决我们认识到的问题,解决不了我们都没理解的问题。
不能再把一切扔给框架、容器、工具!
首先理解你的业务逻辑,理解你要实现的功能,
然后搞清楚框架、容器、工具会帮助我们做什么。
只有理解了自己的业务逻辑,理解了自己的代码,理解了自己要用到的第三方代码,
才能真正完美地实现我们需要的功能!