多表关联下,某个数据未添加进数据库

多表关联下,某个数据未添加进入数据库,也没报错,其他数据都可以添加。
多表关联,对其中一个表进行编辑的操作时,需要将关联字段设为空值,因为一开始没有用到这几个字段,不设为空值会报错,那么当我们用到该字段进行操作时,若还是将其设为空值,则会导致数据添加不进去,因此需要将该字段设为空的代码删除。案例如下:

/**
 * @ModelAttribute("updateStockincomebill")是SpringMVC提供的专门用于解决修改数据的时候数据丢失的问题
 * @ModelAttribute当前类中所有方法执行之前都要先执行这个加了这个注解的方法
 *  注解中加了名称之后,就表示指定方法之前先执行这个
 * @param stockincomebill
 * @return
 */
@ModelAttribute("updateStockincomebill")
public Stockincomebill beforeUpdate(Stockincomebill stockincomebill, String action){
    if(null != stockincomebill && null != stockincomebill.getId() && "update".equals(action)){
        //表示修改
        Stockincomebill stockincomebillFromDB = stockincomebillService.findOne(stockincomebill.getId());
        //让当前员工【持久化对象】与它所属的部门【持久化对象】断开关系	
        stockincomebillFromDB.setKeeper(null);
        stockincomebillFromDB.setSupplier(null);
        //该字段设为空,断开联系了,所以导致这个字段数据添加不进去数据库,删掉或者注释掉即可
    //    stockincomebillFromDB.setAuditor(null);
        stockincomebillFromDB.getBillItems().clear();
        //
        return stockincomebillFromDB;
    }
    return null;
}

猜你喜欢

转载自blog.csdn.net/z2014ypd/article/details/89047294