我的功能是這樣的:@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ù)的結果不會將“已存檔”字段保存在數(shù)據(jù)庫中,但在循環(huán)內所有內容都已正確保存。循環(huán)后合并也結果相同!我的錯誤在哪里?
1 回答

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