第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 JPA 中僅保存集合的一部分

在 JPA 中僅保存集合的一部分

大話西游666 2021-11-24 15:20:26
我在 JPA 中有一個(gè)非常標(biāo)準(zhǔn)的 @OneToMany 映射,沒有級(jí)聯(lián)(默認(rèn)設(shè)置),如下所示:@JoinColumn(name = "PARENT_ID")@OneToMany(fetch = FetchType.LAZY)@OrderBy("date")private List<ItemRow> items;我的問題是,當(dāng)我嘗試 em.merge() 這個(gè)實(shí)體時(shí),Hibernate 認(rèn)為如果集合中不存在一個(gè)項(xiàng)目,它應(yīng)該從數(shù)據(jù)庫(kù)中刪除。鑒于我沒有顯式調(diào)用 em.remove(),生成的 SQL 并沒有真正嘗試刪除項(xiàng)目SET PARENT_ID = NULL,幸運(yùn)的是,Hibernate 只是嘗試執(zhí)行由于數(shù)據(jù)庫(kù)約束而失敗的操作。我不想加載所有項(xiàng)目只是為了將它們的父項(xiàng)保存到數(shù)據(jù)庫(kù)中。那將是愚蠢的。我的用戶界面是分頁的,當(dāng)客戶端發(fā)送部分集合時(shí),這并不意味著其他項(xiàng)目應(yīng)該被刪除,我只想插入和更新用戶看到的行,并留下未列出的行。我該怎么辦?我應(yīng)該從父實(shí)體中刪除集合映射嗎?是否有“無級(jí)聯(lián),真的,僅用于加載”的設(shè)置?我正在使用 JBoss EAP 6.4,其中包含 Hibernate 4.2.18。
查看完整描述

1 回答

?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

閱讀評(píng)論后,我決定使用普通 JDBC 保存父實(shí)體,以便我可以準(zhǔn)確控制發(fā)生的情況。生成的代碼有點(diǎn)乏味,但一旦仔細(xì)編寫,它就足夠健壯了。

插入或更新父實(shí)體后,我可以遍歷所有子實(shí)體并使用 JPA 一一保存它們。那部分工作正常。

我希望這可以更加自動(dòng)化,但是擁有與將要保存的內(nèi)容不完全對(duì)應(yīng)的內(nèi)存中集合似乎是一種不受支持的操作。


查看完整回答
反對(duì) 回復(fù) 2021-11-24
  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)