亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于Jpa中ManyToMany和OneToMany的雙向控制

 更新時間:2021年12月06日 11:58:48   作者:大浪中航行  
這篇文章主要介紹了Jpa中ManyToMany和OneToMany的雙向控制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Jpa ManyToMany和OneToMany的雙向控制

下面我們使用權(quán)限管理中Role<->Account(用戶ManyToMany賬號)、Role<->Domain(用戶OneToMany權(quán)限域)的關(guān)系來舉例。   

1、ManyToMany   

Role表   

這里寫圖片描述

Account表   

這里寫圖片描述

在兩個表的對應(yīng)屬性上添加JoinColumns和inverseJoinColumns,并且相互交換。   

  • JoinColumn指定本表在中間表中的列名。   
  • inverseJoinColumns指定受控方的列名。   

在兩個類中都加上這兩個屬性,并且值互換,則能夠?qū)崿F(xiàn)雙向控制,即任何一方刪除,都會自動刪除對應(yīng)中間表的數(shù)據(jù)。

2、OneToMany以及ManyToOne

Role表   

這里寫圖片描述

Domain表   

這里寫圖片描述

cascade用來指定級聯(lián)操作, cascade的值只能從CascadeType.PERSIST(級聯(lián)新建)、CascadeType.REMOVE(級聯(lián)刪除)、CascadeType.REFRESH(級聯(lián)刷新)、CascadeType.MERGE(級聯(lián)更新)中選擇一個或多個。還有一個選擇是使用CascadeType.ALL,表示選擇全部四項。   

如果不指定Cascade,默認是空的,那么在刪除Role的時候,只會把Domain表中的role這一列的值刪除,而該條記錄不刪除。   

JoinColumn需要指定,如果不指定就會在Domain表中增加額外的一列,這一列與Domain的id一樣。經(jīng)過試驗,不指定還會造成級聯(lián)查找失敗,原因未知。

JPA中ManyToMany關(guān)系問題

配置JPA的時候多對多關(guān)系,報以下錯誤:

org.hibernate.AnnotationException: Illegal use of mappedBy on both sides of the relationship: com.csair.gme.core.domain.ComponentType.componentPropertys

解決辦法

不能兩邊都用mappedBy,只能用一邊,而且用mappedBy的那一邊是從表,另外一邊就是主表。mappedBy=‘主表里的變量名'

問題解決!

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

相關(guān)文章

  • 一篇文章帶你了解java Object根類中關(guān)于toString,equals的方法

    一篇文章帶你了解java Object根類中關(guān)于toString,equals的方法

    這篇文章主要介紹了Object類toString()和equals()方法使用解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-09-09
  • 用Set類判斷Map里key是否存在的示例代碼

    用Set類判斷Map里key是否存在的示例代碼

    本篇文章主要是對用Set類判斷Map里key是否存在的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • SpringBoot集成ShedLock實現(xiàn)分布式定時任務(wù)流程詳解

    SpringBoot集成ShedLock實現(xiàn)分布式定時任務(wù)流程詳解

    ShedLock是一個鎖,官方解釋是他永遠只是一個鎖,并非是一個分布式任務(wù)調(diào)度器。一般shedLock被使用的場景是,你有個任務(wù),你只希望他在單個節(jié)點執(zhí)行,而不希望他并行執(zhí)行,而且這個任務(wù)是支持重復(fù)執(zhí)行的
    2023-02-02
  • 深入剖析Java中的synchronized關(guān)鍵字

    深入剖析Java中的synchronized關(guān)鍵字

    在 Java 程序中,我們可以利用 synchronized 關(guān)鍵字來對程序進行加鎖,它既可以用來聲明一個 synchronized 代碼塊,也可以直接標記靜態(tài)方法或者實例方法,本文就帶大家深入了解Java中的synchronized關(guān)鍵字,感興趣的同學(xué)可以參考閱讀
    2023-06-06
  • Java?20在Windows11系統(tǒng)下的簡易安裝教程

    Java?20在Windows11系統(tǒng)下的簡易安裝教程

    這篇文章主要給大家介紹了關(guān)于Java?20在Windows11系統(tǒng)下的簡易安裝教程,學(xué)習(xí)Java的同學(xué),第一步就是安裝好Java環(huán)境,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • java隨機驗證碼生成實現(xiàn)實例代碼

    java隨機驗證碼生成實現(xiàn)實例代碼

    這篇文章主要介紹了java隨機驗證碼生成實現(xiàn)實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • java8?Stream大數(shù)據(jù)量List分批處理切割方式

    java8?Stream大數(shù)據(jù)量List分批處理切割方式

    這篇文章主要介紹了java8?Stream大數(shù)據(jù)量List分批處理切割方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • springboot自定義stater啟動流程

    springboot自定義stater啟動流程

    這篇文章主要介紹了springboot自定義stater啟動流程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 淺談java中的路徑表示

    淺談java中的路徑表示

    下面小編就為大家?guī)硪黄獪\談java中的路徑表示。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 詳解Java Streams 中的異常處理

    詳解Java Streams 中的異常處理

    這篇文章主要介紹了Java Streams 中的異常處理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評論