为了账号安全,请及时绑定邮箱和手机立即绑定

spring mvc + spring data jpa 如何优雅的更新数据

spring mvc + spring data jpa 如何优雅的更新数据

ABOUTYOU 2019-04-13 08:37:12
遇到的问题前台传过来的参数非常的多,而且是和model相对应的,于是就采用以下方法,让springmvc自动赋值到model中去:java@RequestMapping(value="xxx")publicStringxxx(Membermember){}赋值好后,由于有些数据不必更新,就在前台没有传进来(在member中就为null),如果这样直接更新,那么会直接把那些为null的属性在数据库中也设为null。在网上查了下资料,在modle中加上注解:@DynamicUpdate,可以达到效果动态更新bean中不为空的字段,但实际用起来并不行。后来了解到必须首先将数据load出来,然后再去对load出来的属性setXXX的操作再更新才行。自己想到的解决办法用反射去做,首先先从数据库中把要更新的对象load出来,然后再用反射去读取springmvc给自动赋值好的对象,把不为空的set到load出来的.不知还有没有其他更优雅的解决办法
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

你的解决方法也不是很妥,因为"把不为空的set",会把原本在页面上本想清空的字段也没法setempty了.
我们的解决方法是,新建一个和界面上字段对应的formdto,用多少字段写多少字段(不要用模型),去接收成对象,然后使用你的刚刚那个方法.
或者使用BeanUtil.copyProprty(formDto,modle)
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 1694 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信