有表USER,字段个数100;
使用hibernate映射完成vo以及hbm文件;
spring配置好server层的增删改查方法;
jsp负责页面;
问题是:
1、我增加的时候增加了45个字段,其他的35个是在service的save方法内手工set上属性值,save上没有问题;
2、我修改时候,使用service层的查找方法得出这个user对象,也正常;
3、我修改页面上,我还是显示第一步的45个字段,并修改了其中的15个属性,使用save方法保存,问题出来了:
一、直接调用service的save方法,是执行insert语句,应该是update语句才对;
二、我这次保存只是保存了45个字段,那35个全没了;
不知道各位都是怎么处理这种问题的?
我的方案是:
1、在service的save方法里判断user的主键,为null是save,否则是update;
2、在检索的时候,把没有用到的35个属性全部在service的save方法里面在检索出来,分别set到vo得对应属性里;
这么做一是代码量太大,二是数据效率不高,本来一条update,现在还要配合select,肯定山寨。
看看大家是怎么处理的?