代码如下:
StringBuffer quyHql = new StringBuffer();
quyHql.append(" from User where userId=? and status=?");
// 使用无状态的session实现实时操作数据库
StatelessSession session = getSessionFactory().openStatelessSession();
Transaction tx = session.beginTransaction();
ScrollableResults list = session.createQuery(quyHql.toString()).setLong(0, id)
.setString(1, GlobalConstants.DIC_VALUE_VALID_VALIDITY).scroll(ScrollMode.FORWARD_ONLY);
try {
while (list.next()) {
User user= (User) list.get(0);
user.setStatus(GlobalConstants.DIC_VALUE_VALID_INVALIDITY);// 无效
session.update(user);//一旦执行完,立刻生效}} catch (Exception e) {logger.info("回滚");tx.rollback();}tx.commit();session.close();