assets 对象 多对一 外键关联 user project对象
在action中传值 assetsaction!add?user.id=1&project.id&assets.name=xxx&assets.number=xxxx
保存的时候assets对象的值是有了,也保存了
但是user表中和project表中除了id字段其余全部都清空了
useraction的add方法:
- Java code
public String add() { assets.setProject(project); assets.setUser(user); assetsService.add(assets); return "add"; }
我不想修改user和project的其他字段,怎么处理啊?
------解决方案--------------------
assetsaction!add?user.id=1&project.id&assets.name=xxx&assets.number=xxxx
修改成下面的试试:
assetsaction!add?user.id=1&project.id=&assets.name=xxx&assets.number=xxxx
------解决方案--------------------
你在传值的时候 只给了user.id project.id
然后直接就用assets.setXXX 这样必然是这样的结果 因为user 和 project中只是存在id的值 其余的值没有 你需要加一步 根据user.id查询出user实体 根据project.id查询出project实体 然后再用assets.setXXX
------解决方案--------------------
还有一种方法就是修改你的添加方法 你的添加方法是如果不存在就添加 如果已存在就更新 他把user那两个表更新了 你查一下添加方法 有很多种的 具体我太记得 好久没用了
------解决方案--------------------
其实是你没有实例化一个新的对象,
assetsService.add(assets);
你ADD的还是assets
你把这个重新NEW一个出来进行保存数据;
如: Assets as=new Assets();
as.set(***);
assetsService.add(as);
不知道明白没。
------解决方案--------------------
user表和project表都得实例化一个新的出来进行操作!然后就有值了