将hbm的 dynamic-update 设为了 true.
<hibernate-mapping>
<class name="com.orm.UserInfo"
table="user_info"
dynamic-update="true"
dynamic-insert="true"
optimistic-lock="version">
做测试DEMO如下:
public static void main(String args[]){
UserInfoDAO userInfoDAO = (UserInfoDAO)new SpringCore().getBean("UserInfoDAO");
UserInfo userInfo = new UserInfo();
userInfo.setId(1);
userInfo.setName("userA");
userInfo.setPassword("aaaa");
userInfoDAO.attachClean(userInfo);
userInfoDAO.save(userInfo);
}
测试结果
Hibernate: update user_info set name=?, password=?, question=?, answer=? where id=?
请教各位高手,我虽然用了userInfoDAO.lock() 但仍然将question和answer update成了null ,而且以上所有方法都在同一 Session 内的.真纳闷...
P.S. userInfoDAO.attachClean() 封装了 HibernateTemplate().lock()