a different object with the same identifier value

第二次碰上了``

 

a different object with the same identifier value was already associated with the session

 

在网上看相应的解决方案。对我这里MS不管用。

 

原代码: 上面是一个循环 一次保存多个storege对像,而每次storage.setId(storageMap.get("id").toString()); set的id相同  所有报此错误

if (storageMap != null) {

Storage storage = new Storage();

storage.setId(storageMap.get("id").toString());

if (storageMap.get("wholesale") != null) {

storage.setWholesale(storageMap.get("wholesale").toString());

}

storage.setSku(sku);

storage.setStore(store);

Double quantity = (Double) storageMap.get("quantity");

Double q = changeQuantity;

storage.setQuantity(quantity + q);

getStorageService().save(storage);

 

 

网上的解决方案   getHibernateTemplate().merge(object);  保存的时候把传过来的storage对像合并   MS不管用。

 

 最后解决方法  

Storage storage = getStorageService().get(Storage.class,storageMap.get("id").toString());

if (storageMap.get("wholesale") != null) {

storage.setWholesale(storageMap.get("wholesale").toString());

}

Double quantity = (Double) storageMap.get("quantity");

Double q = changeQuantity;

storage.setQuantity(quantity + q);

getStorageService().save(storage);

 

 

 

另有解决方案:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值