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

Spring Data JPA 建立表的聯(lián)合主鍵

 更新時(shí)間:2019年04月12日 14:10:03   作者:roseduan  
這篇文章主要介紹了Spring Data JPA 建立表的聯(lián)合主鍵。本文詳細(xì)的介紹了2種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

最近遇到了一個(gè)小的問(wèn)題,就是怎么使用 Spring Data JPA 建立表的聯(lián)合主鍵?然后探索出了下面的兩種方式。

第一種方式:

第一種方式是直接在類屬性上面的兩個(gè)字段都加上 @Id 注解,就像下面這樣,給 stuNo 和 stuName 這兩個(gè)字段加上聯(lián)合主鍵:

@Entity
@Table(name = "student")
public class Student {

  @Id
  @Column(name = "stu_no", nullable = false, length = 11)
  private Integer stuNo;

  @Id
  @Column(name = "stu_name", nullable = false, length = 128)
  private String stuName;

  @Column(name = "stu_age", nullable = false, length = 3)
  private Integer stuAge;

  @Column(name = "class_id", nullable = false, length = 8)
  private String classId;
}

只不過(guò)需要注意的是,實(shí)體類需要實(shí)現(xiàn) Serializable 接口。

這種方式不是很好,雖然可以成功的創(chuàng)建表,但是使用 JpaRepository 的時(shí)候,需要指定主鍵 ID 的類型,這時(shí)候就會(huì)報(bào)錯(cuò),所以使用第二種方式更好。

第二種方式:

實(shí)現(xiàn)起來(lái)也很簡(jiǎn)單,我們需要新建一個(gè)類,還是以 stuNo 和 stuName 建立聯(lián)合主鍵,這個(gè)類需要實(shí)現(xiàn) Serializable 接口。

public class StudentUPK implements Serializable {

  private Integer stuNo;

  private String stuName;

}

然后在實(shí)體類 Student 上面加上 @IdClass 注解,兩個(gè)字段上面還是加上 @Id 注解:

@Entity
@IdClass(StudentUPK.class)
@Table(name = "student")
public class Student {

  @Id
  @Column(name = "stu_no", nullable = false, length = 11)
  private Integer stuNo;

  @Id
  @Column(name = "stu_name", nullable = false, length = 128)
  private String stuName;

  @Column(name = "stu_age", nullable = false, length = 3)
  private Integer stuAge;

  @Column(name = "class_id", nullable = false, length = 8)
  private String classId;
}

這樣就能成功的創(chuàng)建表了,而且在使用 JpaRepoistory 的時(shí)候,可以指定主鍵為那個(gè) StudentUPK 類,就像這樣:public interface StudentRepository extends JpaRepository<Student, StudentUPK> 。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何將Set直接轉(zhuǎn)成數(shù)組

    如何將Set直接轉(zhuǎn)成數(shù)組

    這篇文章主要介紹了如何將Set直接轉(zhuǎn)成數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • SpringCloud @FeignClient注入Spring容器原理分析

    SpringCloud @FeignClient注入Spring容器原理分析

    本文詳細(xì)分析了Spring Boot中@FeignClient注解的掃描和注入過(guò)程,重點(diǎn)探討了@EnableFeignClients注解的工作原理,通過(guò)源碼分析,揭示了@EnableFeignClients如何通過(guò)@Import注解和FeignClientsRegistrar類實(shí)現(xiàn)bean定義的加載
    2024-12-12
  • java并發(fā)請(qǐng)求下數(shù)據(jù)插入重復(fù)問(wèn)題的解決方法

    java并發(fā)請(qǐng)求下數(shù)據(jù)插入重復(fù)問(wèn)題的解決方法

    現(xiàn)在遇到一個(gè)項(xiàng)目,移動(dòng)設(shè)備存儲(chǔ)數(shù)據(jù),然后一起上傳,那就出現(xiàn)了許多重復(fù)數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于java并發(fā)請(qǐng)求下數(shù)據(jù)插入重復(fù)問(wèn)題的解決方法,需要的朋友可以參考下
    2021-11-11
  • Spring aop失效的幾種解決方案

    Spring aop失效的幾種解決方案

    這篇文章主要介紹了Spring aop失效的幾種解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • MapTask工作機(jī)制圖文詳解

    MapTask工作機(jī)制圖文詳解

    今天小編就為大家分享一篇關(guān)于MapTask工作機(jī)制圖文詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Java 函數(shù)編程詳細(xì)介紹

    Java 函數(shù)編程詳細(xì)介紹

    這篇文章主要介紹了Java函數(shù)式編程,lambda表達(dá)式可以被認(rèn)為是一個(gè)匿名函數(shù),可以在函數(shù)接口的上下文中使用。函數(shù)接口是只指定一個(gè)抽象方法的接口,下面來(lái)看文章的詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-11-11
  • Java中守護(hù)線程介紹及使用

    Java中守護(hù)線程介紹及使用

    大家好,本篇文章主要講的是Java中守護(hù)線程介紹及使用,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Java?8函數(shù)式接口之Consumer用法示例詳解

    Java?8函數(shù)式接口之Consumer用法示例詳解

    這篇文章主要為大家介紹了Java?8函數(shù)式接口之Consumer用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • SpringBoot快速整合通用Mapper的示例代碼

    SpringBoot快速整合通用Mapper的示例代碼

    后端業(yè)務(wù)開(kāi)發(fā),每個(gè)表都要用到單表的?增刪改查?等通用方法,而配置了通用Mapper可以極大的方便使用Mybatis單表的增刪改查操作,這篇文章主要介紹了SpringBoot快速整合通用Mapper,需要的朋友可以參考下
    2022-07-07
  • Java數(shù)據(jù)結(jié)構(gòu)優(yōu)先隊(duì)列實(shí)練

    Java數(shù)據(jù)結(jié)構(gòu)優(yōu)先隊(duì)列實(shí)練

    通常都把隊(duì)列比喻成排隊(duì)買(mǎi)東西,大家都很守秩序,先排隊(duì)的人就先買(mǎi)東西。但是優(yōu)先隊(duì)列有所不同,它不遵循先進(jìn)先出的規(guī)則,而是根據(jù)隊(duì)列中元素的優(yōu)先權(quán),優(yōu)先權(quán)最大的先被取出,這篇文章主要介紹了java優(yōu)先隊(duì)列的真題,感興趣的朋友一起看看吧
    2022-07-07

最新評(píng)論

苗栗市| 夏河县| 微山县| 汝南县| 桂阳县| 辰溪县| 襄樊市| 郴州市| 平邑县| 仙游县| 调兵山市| 含山县| 嘉鱼县| 桐庐县| 英超| 大理市| 犍为县| 洪雅县| 双牌县| 浦城县| 汉阴县| 蒲城县| 那坡县| 海盐县| 青龙| 渑池县| 桑日县| 泌阳县| 芒康县| 沛县| 托里县| 明溪县| 长沙县| 哈巴河县| 兴文县| 盐池县| 长兴县| 信阳市| 宜昌市| 皋兰县| 台东县|