现象:
插入之后,迅速的更改属性,在2个session中,插入之后DB中有结果,在再次更改属性的时候,要先把上次插入的查出来,并且不能按主键查询,此时查不出结果。
之后再次插入,再次更改属性,都正常了。
步骤:
1 Spring集成Hibernate
2 入库时使用HibernateTemplate().save()
3 更改属性时要先查出来,使用Criteria,并且查询条件中没有主键。现在就没有结果,DB中明明有结果的。
修改:
第3步骤修改为:
return this.getHibernateTemplate().execute(new HibernateCallback<XXXX>(){
@Override
public XXXXdoInHibernate(Session session) throws HibernateException,SQLException{
Query query = session.createQuery("from UserClosed where userId=? and status=? order by closeTime desc,openTime desc");
query.setInteger(0,userId);
query.setInteger(1,status.getValue());
return (XXXX)query.uniqueResult();
}
});
问题:
不知道这2中查询方式有何不同,有时间在琢磨琢磨各种查询方式的区别。