struts2+hibernate3+spring场景是这样,编辑用户的信息,User的属性有用户名,密码,所在城市id,昵称,简介,email,创建时间,更新时间,编辑的时候只想编辑所在城市id,昵称,简介,email,但我发现一更新所有字段都被更新了,由于用户名等属性我并没有在表单中用hidden域里保存,所以提交的时候,此属性就当成null被更新掉了,请问怎么指定要更新的具体字段,写hql固然可以,但感觉这样用不用hibernate都没什么区别了,如果在映射文件中指定字段的update为false,也不会适应于每种情况,比如说用户密码修改需要在一个单独的页面,这时是需要update的,但在编辑用户信息页面,又是不需要update的,书上也没有相应的解决方案,自己实际做点东西,发现问题很多。
用find其实不推荐了,应该用query.list,不过又要写hql,用get或load应该比较好吧,二者会去缓存里查,的确是没有什么性能损耗的。