日期:2014-05-18  浏览次数:20695 次

用hibernate作更新时,每次总是要先查询出要更新的对象,然后一一setXX值进去才update,可以直接用update(PO)来更新吗?
我试过了,是可以,但是问题也随之而来.就是明明PO里有些值是为null的,它也会把所有字段都更新,不会动态只更新不为null的字段,尽管我已经设置dynamic-update= "true ".有什么办法可以让这种方法也支持动态更新吗?因为我的表的字段太多了,在取得更新后的值时已经在Action里setXX一遍了,传入DAO中又要重复一次,实在是郁闷啊.

------解决方案--------------------
你在Action里先查出这个对象,然后set要改的值进去,再直接保存,即在DAO里直接update你传入的这个对象,就可以了.