[请教] Spring + Hibernate 的 dynamic-update(动态更新)问题

06-05-19 叉烧包

将hbm的 dynamic-update 设为了 true.

<hibernate-mapping>
    <class 	name="com.orm.UserInfo" 
    		table="user_info" 
    		dynamic-update="true" 
    		dynamic-insert="true"
    		optimistic-lock="version">
<p class="indent">


做测试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);
	}
<p class="indent">


测试结果

Hibernate: update user_info set name=?, password=?, question=?, answer=? where id=?
<p class="indent">


请教各位高手,我虽然用了userInfoDAO.lock() 但仍然将question和answer update成了null ,而且以上所有方法都在同一 Session 内的.真纳闷...
P.S. userInfoDAO.attachClean() 封装了 HibernateTemplate().lock()


banq
2006-05-22 18:02

UserInfo userInfo = new UserInfo();
既然是update,为什么要new UserInfo?那就用dynamic-insert