我有一个应用程序,我首先检查数据库表中的值,如果不存在生成一个新值并插入数据库,这个循环大约一百万次,我怎么能加快它?
在我的工人阶级: -
session=HibernateSessionFactory.getSession();
for(----loop
i check
i generate
then:-
MyTable myTable=new MyTable();
myTable.setName("dasdas");
myTable.setww("ss");
myTable.setaa("daaasdas");
hibernateRepositoy.save(dgCcno,session);
}
保存方法我是另一个类: -
public void save(Object obj,Session session) {
Transaction tx = null;
try {
tx = session.beginTransaction();
session.saveOrUpdate(obj);
session.flush();
session.clear();
tx.commit();
}
catch (HibernateException e) {
e.printStackTrace();
logger.error(e.getMessage(), e);
if(tx!=null){
tx.rollback();
}
}
catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage(), e);
}
}
我怎样才能加快速度,或者这是正确的做法?
补充: - 我不能使用批量更新,我必须立即插入值,导致下一个选择查询中的值可以相同..并且必须从数据库中提供值
答案 0 :(得分:6)