• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Spring JPA的多表查詢

    標簽: SpringBoot的入門操作  spring boot

    SpringBoot JPA的多表查詢

    1.關系映射
    單項多對一關聯
    我們以User和Role表為例
    修改User實體類,添加Role對象
    在這里插入圖片描述

    @ManyToOne注解映射多對一關聯,targetEntity屬性表示關聯實體類型,可以省略
    @JoinColumn注解映射的外鍵字段,如果不指定,則生成一張新表維護兩個對象之間的關系

    2.創建UserRepository接口
    在這里插入圖片描述

    3.編寫測試類即可
    在這里插入圖片描述
    4.雙向一對多關聯

    在這里插入圖片描述

    ●targetEntity屬性表示關聯的實體類型
    ●feteh 屬性表示加載策略,FetchType 取值有LAZY及EAGER, LAZY 表示延遲加載,
    EAGER表示立即加載。@ManyToOne注解也包含該屬性,且默認值為EAGER,表示
    立即加載,所以查詢User時通過左外關聯立即獲取Role數據: @One ToMany注解
    該屬性默認值為LAZY。
    ●cascade屬性表示級聯操作,CascadeType取值有PERSIST、 REMOVE、 …等.
    PERSIST表示級聯持久化(保存)操作,REMOVE級聯刪除,ALL 級聯所有操作。
    @ManyToOne注解也包含該屬性,但一般不在多的一方進行級聯操作。
    ●mappedBy 屬性用來設置對象之間的關系維護方(關系維護通過操作外鍵完成)。如
    不指定mappedBy屬性,則對象均由自己維護關系(外鍵),操作-方對象時,會額
    外產生更新外鍵的sQL語句。所以一般在@One ToMay注解中指定mappedBy屬性,
    且屬性值為多方對象中關聯的一方屬性名, 并且此時一-方 實體中不能添加
    JoinColumn注解。

    在這里插入圖片描述
    這個地方要使用立即加載否則可能會報錯
    在這里插入圖片描述

    4.級聯新增

    記得將
    在這里插入圖片描述

    cascade = CascadeType.PERSIST
    

    在這里插入圖片描述
    記得將實體類手動生成set/get
    不要使用Data注解可能發生循環報錯

    版權聲明:本文為lm2574866671原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/lm2574866671/article/details/108334382

    智能推薦

    Spring Data Jpa的四種查詢方式

    一、調用接口的方式 1.基本介紹 通過調用接口里的方法查詢,需要我們自定義的接口繼承Spring Data Jpa規定的接口 使用這幾種方法的前提是你定義的實體類必須標注上相應的注解 JpaRepository<T,ID> 第一個接口里面定義了一些簡單的CRUD方法,泛型T是你定義的實體類的類型,泛型ID是你的實體類里主鍵的類型 2. JpaSpecificationExecutor ...

    快速學習-Spring Data JPA的查詢方式

    第4章 Spring Data JPA的查詢方式 4.1 使用Spring Data JPA中接口定義的方法進行查詢 在繼承JpaRepository,和JpaRepository接口后,我們就可以使用接口中定義的方法進行查詢 繼承JpaRepository后的方法列表 繼承JpaSpecificationExecutor的方法列表 4.2 使用JPQL的方式查詢 使用Spring Data JP...

    Spring Boot Jpa實現簡單的查詢findByUsernameAndPassword

    版權聲明:本文為博主原創文章,歡迎轉載,轉載請注明作者、原文超鏈接 ,博主地址:http://blog.csdn.net/xuyonjin JPA         JPA是Java Persistence API的簡稱,中文名Java持久層API,是JDK 5.0注解或XML描述對象-關系表的映射關系,并將運行期的實體...

    spring-data-jpa 是如何渲染查詢的

    spring-data-jpa 是如何渲染查詢的 1、 spring-data-jpa是什么, 它和jpa有什么關系? jpa: Java Persistence API, 是一種規范, 定義了一系列的接口, 用于將對象映射到表上. Hibernate: 是jpa的一種實現 spring-data-jpa spring全家通成員之一, 也是jpa的一種實現, 并且是hibernate的封裝, 底層...

    Spring Data JPA分頁查詢

    使用Spring Data JPA的朋友,在實際工作中經常需要用到分頁查詢。下面介紹一個簡單的分頁查詢的例子:查詢學生信息,每頁10行數據,并按成績排序。先看數據表:   實現:repo需要繼承PagingAndSortingRepository,如下: 需要用到PageRequest,我們來看一下PageRequest(為方便查看,本人去掉了部分內容,并增加了注釋):  我們...

    猜你喜歡

    Spring Boot JPA分頁查詢

    1、UML類圖 2、接口方法 (1)根據排序取所有對象的集合。 (2)根據分頁和排序進行查詢,并用Page對象封裝。Pageable對象包含分頁和Sort對象。 3、接口實現 4、使用示例 4.1 繼承PagingAndSortingRepository 4.2 測試 結果如下: 4.2 注意點:PageRequest 代替分頁功能的方法是不要new PageRequest,而是直接調用PageR...

    Springdata Jpa 多表查詢

    Springdata Jpa 多表查詢 一、一對多關系 1.一對多數據表的建立 ? SQL腳本: 2.實體類映射關系 3.映射注解說明 4.實體類接口 5.一對多的添加測試 通過保存的案例,我們可以發現在設置了雙向關系之后,會發送兩條insert語句,一條多余的update語句,那我們的解決是思路很簡單,就是一的一方放棄維護權 6.一對多的刪除 刪除操作的說明 7.級聯操作 ? 級聯操作:指操作一...

    LeetCode153 尋找旋轉排序數組中的最小值(二分)

    題目鏈接:leetcode153 題面 題目大意 題目中的旋轉可以理解成整個有序數組循環左移,找旋轉點相當于找這個左移的開頭,由于原序列有序,相當于找數組的最小值。數組中的元素不重復! 解題思路 暴力 遍歷一次數組,尋找最小值。 時間復雜度 O ( n ) O(n) O(n) ,空間復雜度 O ( 1 ) O(1) O(1)。 二分 由于原序列有序,根據左移的特性,我們可以進行二分: 如果 mid...

    微信小程序—canvas截取任意形狀

    最近在研究拼圖驗證碼實現,需要對圖片的部分模塊進行特殊形狀切割出一小塊,明白后原來是如此簡單,第一步就是將所有繪制的形狀用線勾出(直線、弧線、貝塞爾曲線都可以)形成閉環,第二步就是切割繪制,第二步不麻煩,麻煩的只是第一步,需要一些計算,所以會在以后,盡力的多保存一些特殊形狀的方法。 比如: 代碼 體驗...

    精品国产乱码久久久久久蜜桃不卡