最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于jpa中無法刪除onetomany中many問題的解決

 更新時間:2021年12月06日 08:43:20   作者:qq_28469355  
這篇文章主要介紹了關(guān)于jpa中無法刪除onetomany中many問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

jpa 無法刪除onetomany中many問題

問題描述

今天在做項目遇到一個問題,建立兩個實體order和orderDetail,他們是onetomany關(guān)系,當(dāng)我想要之間刪除一個orderDetail時,發(fā)現(xiàn)不能刪除但是程序也不出錯。

實體建立模型如下圖:

order中:

在這里插入圖片描述

orderDetail中:

在這里插入圖片描述

解決思路

1.首先我想到了直接刪除orderDetail不行,是否可以直接通過update order的關(guān)聯(lián)關(guān)系進(jìn)行級聯(lián)刪除啦,于是寫了一下代碼

在這里插入圖片描述

結(jié)果發(fā)現(xiàn)這樣是可以刪除orderDetail,但是這種刪除方式并不是我想要的,而且感覺也不是最好的解決方法。

2.在結(jié)合上一種方法實現(xiàn)成功后,突然想到是否是關(guān)聯(lián)關(guān)系建立的原因,如果我先把關(guān)聯(lián)關(guān)系斷開,在進(jìn)行刪除orderDetail是否能成功:

在這里插入圖片描述

結(jié)果證明,成功刪除

小結(jié)一下

雖然實現(xiàn)了我想要的功能,但是jpa的刪除具體邏輯還需要深入研究。自我感覺是因為order是關(guān)系維護方,想要刪除many端就必須先斷開關(guān)系在進(jìn)行刪除

jpa @OneToMany 刪除不了集合數(shù)據(jù)

在使用jpa的時候,如果有@OneToMany關(guān)系。想刪除many的單個數(shù)據(jù)。有時候刪除不了。 jap關(guān)系如下:一個用戶對應(yīng)多個角色。并且user實體中CascadeType.ALL

//user實體
@OneToMany(cascade = CascadeType.ALL,fetch= FetchType.LAZY,mappedBy = "user")
    private Set<Role> roles = new HashSet<Role>();

//role實體
@ManyToOne(fetch= FetchType.LAZY)
    @JoinColumn(name="user_id")
    private User user;

這時候如果想刪除role

必須做2個事情:

1、刪除role。

2、把role從集合roles中移除。

如下:

roleRepo.delete(role);//這里刪除操作需要delete和從集合中remove一起操作才能生效
user.getRoles().remove(role);
userService.update(user);

如果不這樣操作。就會不生效。

參考文檔: https://stackoverflow.com/questions/2011519/jpa-onetomany-not-deleting-child

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Cache + Caffeine的整合與使用示例詳解

    Spring Cache + Caffeine的整合與使用示例詳解

    對于一些項目里需要對數(shù)據(jù)庫里的某些數(shù)據(jù)一直重復(fù)請求的,且這些數(shù)據(jù)基本是固定的,在這種情況下,可以借助簡單使用本地緩存來緩存這些數(shù)據(jù),本文介紹一下Spring Cache和Caffeine的使用,感興趣的朋友一起看看吧
    2023-12-12
  • SpringBoot發(fā)送html郵箱驗證碼功能

    SpringBoot發(fā)送html郵箱驗證碼功能

    這篇文章主要介紹了SpringBoot發(fā)送html郵箱驗證碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • 淺談用java實現(xiàn)事件驅(qū)動機制

    淺談用java實現(xiàn)事件驅(qū)動機制

    這篇文章主要介紹了淺談用java實現(xiàn)事件驅(qū)動機制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • JAVA獲取HTTP請求頭的方法示例

    JAVA獲取HTTP請求頭的方法示例

    這篇文章主要介紹了JAVA獲取HTTP請求頭的方法,結(jié)合具體實例形式分析了java針對http請求頭的讀取及屬性操作技巧,需要的朋友可以參考下
    2017-06-06
  • springboot+mybatis配置clickhouse實現(xiàn)插入查詢功能

    springboot+mybatis配置clickhouse實現(xiàn)插入查詢功能

    這篇文章主要介紹了springboot+mybatis配置clickhouse實現(xiàn)插入查詢功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • springboot+redis實現(xiàn)微博熱搜排行榜的示例代碼

    springboot+redis實現(xiàn)微博熱搜排行榜的示例代碼

    本文主要介紹了springboot+redis實現(xiàn)微博熱搜排行榜的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 淺談Hibernate n+1問題

    淺談Hibernate n+1問題

    這篇文章主要介紹了淺談Hibernate n+1問題,怎么解決n+1問題,文中也作了簡要分析,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 一篇文章弄懂Spring MVC的參數(shù)綁定

    一篇文章弄懂Spring MVC的參數(shù)綁定

    這篇文章主要給大家介紹了關(guān)于如何通過一篇文章弄懂Spring MVC的參數(shù)綁定,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 利用Spring Social輕松搞定微信授權(quán)登錄的方法示例

    利用Spring Social輕松搞定微信授權(quán)登錄的方法示例

    這篇文章主要介紹了利用Spring Social輕松搞定微信授權(quán)登錄的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 超詳細(xì)解釋Java反射

    超詳細(xì)解釋Java反射

    本文非常詳細(xì)的講解了java反射具體的內(nèi)容以及使用,java反射在現(xiàn)今的使用中很頻繁,希望此文可以幫大家解答疑惑,可以幫助大家理解
    2021-11-11

最新評論

福泉市| 高雄县| 肥西县| 汝阳县| 昭觉县| 贵定县| 陇川县| 北碚区| 江北区| 竹山县| 灵宝市| 辽源市| 监利县| 满洲里市| 公主岭市| 大足县| 哈尔滨市| 南通市| 凉城县| 石泉县| 贡觉县| 久治县| 绵阳市| 二连浩特市| 外汇| 綦江县| 阿城市| 雅江县| 巴彦淖尔市| 宣化县| 禄丰县| 锡林浩特市| 榆中县| 左云县| 亳州市| 彰化市| 奉新县| 新源县| 尼勒克县| 高安市| 南漳县|