首页新闻找找看学习计划

springmvc 数据绑定,空参数禁止创建关联对象

0
悬赏园豆:10 [待解决问题]

譬如说Office有一个关联对象User。 
但我没有传user.id这个参数时,springmvc仍然帮Office.User创建一个没有id的对象,这样导致我使用hibernate保存时会出现org.hibernate.TransientObjectException的异常。 

有什么办法使得如果我没有传关联对象的值时,让springmvc就不要实例化关联对象

金~~~的主页 金~~~ | 初学一级 | 园豆:192
提问于:2017-03-06 17:45
< >
分享
所有回答(2)
0

数据库实体就不该被当成最外面的参数.

吴瑞祥 | 园豆:28729 (高人七级) | 2017-03-06 17:56

但在页面选择业务的时候肯定会有些实体关联的,譬如要选择人员所在的部门等这些。

另:不该被当成最外面的参数,这是为啥咧

支持(0) 反对(0) 金~~~ | 园豆:192 (初学一级) | 2017-03-06 18:01

@金~~~: 因为会有和当前业务无关的参数被写在接口文档上.

比如你一个添加用户接口.你的参数应该只有用户名密码.但如果你用数据库的用户实体.

你的接口上就会出多一个id字段.新人来了.看接口文档的时候有一个id字段.就犯迷糊了.

支持(0) 反对(0) 吴瑞祥 | 园豆:28729 (高人七级) | 2017-03-07 10:47
0

应该是view层-->dto--转化--->model-->DB层,一般很少直接获取数据库的值做透传,一个最简单的比如,你页面展示性别这个字段,难道你的数据库存的是男女不是0,1这样的数字?

[3] | 园豆:1172 (小虾三级) | 2017-03-06 18:22

但是页面选择的信息也是用户自己维护的实体的,如果不传数据库的值的话,那用户怎么去选择呢?男女这两个是可以作为枚举,毕竟是固定的

支持(0) 反对(0) 金~~~ | 园豆:192 (初学一级) | 2017-03-06 21:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册