用的SSH框架,事务切到service层, 在service取出一个用户列表,在action中循环此列表修改每个用户的角色id属性为角色名称后 , 数据库就变了呀 !! 在网上搜索了好久 说session关闭的时候会吧持久对象更新到数据库中, 但是自己做了一个例子
Transaction tx = session.beginTransaction(); Query query = session.createQuery("from Test01"); query.setFirstResult(begin); query.setMaxResults(count); List<Test01> l = (List<Test01>)query.list(); for(Test01 u : l){ u.setPwd("1"); } tx.commit(); for(Test01 u : l){ System.out.println(u); u.setPwd("22222"); session.update(u); } session.flush(); session.close();
修改后数据库中 pwd却是"1" 不是"22222" 为什么?