标签:
首先,在向数据库中批量插入数据的时候得作一个事务,然后,需要在插入数据之前把相应表中的所有数据清除。这里遇到死锁,原因是在删除数据和插入数据时发生了死锁,解决的办法是将删除数据查询加锁,代码:
String hql = + ..getName()List<NewsCrawler> newsList = .getSession().createQuery(hql).setLockMode(..getName()LockMode.).list()Session session = ..openSession()Transaction tx = session.beginTransaction()(i=i<newsList.size()i++){ newsList.get(i).setState(BaseEnum.NewsStateEnum.)session.update(newsList.get(i))} tx.commit()session.close()显示UPGRADE已过期==
标签:
原文地址:http://my.oschina.net/u/2284472/blog/483036