作者tnsshnews (tnsshnews)
看板java
标题[问题] Hibernate Performancej Issue
时间Wed Nov 7 18:10:51 2012
Dear alll,
请问如果有大量资料要透过loop写入资料库, 使用hibernate是不是会比直接用jdbc呢?
Long starttime = System.currentTimeMillis();
for(int i=0; i<1000; i++){
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx= session.beginTransaction();
M02Mst mst = new M02Mst();
mst.setGrpId(i);
mst.setGrpAcptTime(new Date());
session.close();
}
Long endtime = System.currentTimeMillis();
logger.info("Total spent:"+(endtime-starttime)/1000+" secs");
>>>>>>>>这样要花6秒, 但如果将session抽出去外面, 如下
Long starttime = System.currentTimeMillis();
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx= session.beginTransaction();
for(int i=0; i<1000; i++){
M02Mst mst = new M02Mst();
mst.setGrpId(i);
mst.setGrpAcptTime(new Date());
}
session.close();
>>>>>>>>这样只要2秒, 但还是觉得很慢, 我朋友直接用jdbc, 不需要1秒就全做完了,
请问是不是hibernate一定会较慢呢?
谢谢
Long endtime = System.currentTimeMillis();
logger.info("Total spent:"+(endtime-starttime)/1000+" secs");
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.79.199.63
1F:推 PsMonkey:连 return 都搞不太清楚就要用 Hibernate? 11/07 18:19
2F:→ PsMonkey:古老有一篇文章在 Z-10-2-2,无聊可以去看一下 11/07 18:21
3F:推 qrtt1:手册都写那麽多了 Batch processing 没去看一下!? 11/07 22:28
4F:→ tnsshnews:谢谢提供batch process方向 11/08 11:03