我的功能是這樣的:@Transactionalvoid changeData(CardTO cardTO){ List<CardTO> sameParentCards = cardFactory.getSameParentCards(cardTO.getParentId()); cardTO.setArchived(true); entityManager.merge(cardTO); for(CardTO c: sameParentCards ) { if(!c.getCardId.equals(cardTO.getCardId())) { c.setParentId(cardTO.getParentId()); entityManager.merge(c); break; } } }其中“getSameCards”方法返回父 ID 等于給定卡 ID 的 cardTO 列表。該函數(shù)的結(jié)果不會(huì)將“已存檔”字段保存在數(shù)據(jù)庫中,但在循環(huán)內(nèi)所有內(nèi)容都已正確保存。循環(huán)后合并也結(jié)果相同!我的錯(cuò)誤在哪里?
1 回答

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
問題是將實(shí)體保存在一個(gè)跨國(guó)函數(shù)中后無法檢索它們。所以我在合并數(shù)據(jù)后檢索了cardTO,如下所示:
cardTO.setArchived(true);
entityManager.merge(cardTO);
cardTO = cardFactory.getCardTO(cardTO.getId());
添加回答
舉報(bào)
0/150
提交
取消