国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JPA實體類中使用聯(lián)合主鍵

這篇具有很好參考價值的文章主要介紹了JPA實體類中使用聯(lián)合主鍵。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

參考鏈接:JPA Primary Key

業(yè)務場景:

實體類Aaabc中需要將id1、id2作為聯(lián)合主鍵來使用

方式一:使用@IdClass

首先定義IdClass類

import lombok.Data;
import java.io.Serializable;

@Data
public class AaabcIdClass implements Serializable {

    private String id1;
    private Integer id2;
}

實體類中指定IdClass,并且使用多個@Id:

import lombok.Data;
import java.io.Serializable;
import javax.persistence.*;
import com.fasterxml.jackson.annotation.JsonInclude;

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@Entity
@Table(name = "Aaabc")
@IdClass(AaabcIdClass.class)
public class Aaabc implements Serializable {

    @Id
    @Column(name = "id1", nullable = true, length = 36)
    private String id1;

    @Id
    @Column(name = "id2", nullable = true)
    private Integer id2;

    @Column(name = "name", nullable = true, length = 200)
    private String name;
}

方式二:使用@EmbeddedId與@Embeddable

定義Embeddable類

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.io.Serializable;


@Data
@AllArgsConstructor
@NoArgsConstructor
@Embeddable
public class AaabcEmbeddedId implements Serializable {
    private String id1;
    private Integer id2;
}

實體類更新為:

import lombok.AllArgsConstructor;
import lombok.Data;
import javax.persistence.*;
import lombok.NoArgsConstructor;

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Aaabc {

    @EmbeddedId
    // @AttributeOverrides({@AttributeOverride(name = "id1", column = @Column(name = "id1")), @AttributeOverride(name = "id2", column = @Column(name = "id2"))})
    private AaabcEmbeddedId id12;

    @Column(name = "name", nullable = true, length = 200)
    private String name;
}

持久化實體類對象

public Aaabc saveAaabc() {
        Aaabc bo = new Aaabc();
        // bo.setId1("1");
        // bo.setId2(2);
        bo.setId12(new AaabcEmbeddedId("1", 2));
        bo.setName("name1");
        return aaabcRepository.saveAndFlush(bo);
    }

控制臺輸出:

Hibernate: 
    select
        aaabc0_.id1 as id1_0_0_,
        aaabc0_.id2 as id2_0_0_,
        aaabc0_.name as name3_0_0_ 
    from
        Aaabc aaabc0_ 
    where
        aaabc0_.id1=? 
        and aaabc0_.id2=?
Hibernate: 
    insert 
    into
        Aaabc
        (name, id1, id2) 
    values
        (?, ?, ?)

可見聯(lián)合主鍵生效文章來源地址http://www.zghlxwxcb.cn/news/detail-682129.html

到了這里,關于JPA實體類中使用聯(lián)合主鍵的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Spring Boot 篇四: Spring Data JPA使用SQL Server

    Spring Boot 篇四: Spring Data JPA使用SQL Server

    本篇介紹篇一至篇三中用到的JPA鏈接SQL Server的具體情況以及實戰(zhàn)過程中可能遇到的問題。 具體的下載和安裝教程,請參閱微軟SQL Server官網; SQL Server Express 是免費的,并且配套的SQL Server Management Studio也是可以用的。 呃,當然,使用Docker來運行SQL Server是另外一條路徑。具體

    2024年02月05日
    瀏覽(17)
  • 【Spring Boot】SpringBoot和數(shù)據(jù)庫交互: 使用Spring Data JPA

    在現(xiàn)代應用程序的開發(fā)中,數(shù)據(jù)是核心部分。為了能夠持久化、檢索、更新和刪除數(shù)據(jù),應用程序需要與數(shù)據(jù)庫進行交互。 1.1 為什么需要數(shù)據(jù)庫交互 數(shù)據(jù)持久化 :當你關閉應用程序或者服務器時,你仍希望數(shù)據(jù)能夠保存。數(shù)據(jù)庫提供了一個持久的存儲方案,使得數(shù)據(jù)在關閉

    2024年02月12日
    瀏覽(29)
  • Spring data JPA的基本使用把你難到了嗎?

    Spring data JPA的基本使用把你難到了嗎?

    一. 故事背景 最近有已經工作的學員跟文哥聊天,說他剛進公司,人生地不熟,每天工作都是戰(zhàn)戰(zhàn)兢兢,如履薄冰。本來他覺得自己用的最6的技術就是文哥教給他的Mybatis了,本以為靠著Mybatis就可以養(yǎng)家糊口,賺點血汗錢了。結果發(fā)現(xiàn)大家用的都是Spring Data JPA!?。∷D時虎

    2024年02月04日
    瀏覽(22)
  • 使用Spring Boot和JPA實現(xiàn)多數(shù)據(jù)源的方法

    使用Spring Boot和JPA實現(xiàn)多數(shù)據(jù)源的方法: 添加相關依賴:在pom.xml文件中添加Spring Boot和JPA的依賴項,例如Spring Boot Starter Data JPA和相應的數(shù)據(jù)庫驅動。 配置數(shù)據(jù)源:在application.properties(或application.yml)文件中,配置多個數(shù)據(jù)源的連接信息,如數(shù)據(jù)庫URL、用戶名和密碼。 創(chuàng)建數(shù)

    2024年01月21日
    瀏覽(71)
  • 使用Spring Data JPA實現(xiàn)審計功能,記錄創(chuàng)建人、創(chuàng)建時間、最后修改時間和最后修改人

    近日心血來潮想做一個開源項目,目標是做一款可以適配多端、功能完備的模板工程,包含后臺管理系統(tǒng)和前臺系統(tǒng),開發(fā)者基于此項目進行裁剪和擴展來完成自己的功能開發(fā)。 本項目為前后端分離開發(fā),后端基于 Java21 和 SpringBoot3 開發(fā),后端使用 Spring Security 、 JWT 、 Spr

    2024年01月19日
    瀏覽(32)
  • Spring Data JPA 學習筆記

    Spring Data JPA: Spring Data JPA 的技術特點: @Entity 標注是一個實體類,實體類中的每一個屬性都對應表中的一列。 @Table(name = “User”) 這個注解用于指定實體類對應的數(shù)據(jù)庫表名。(但首字母會小寫) @Data:這個注解是Lombok庫提供的,用于自動生成實體類的getter和setter方法、構造函

    2024年04月09日
    瀏覽(28)
  • Spring data JPA常用命令

    Spring Data JPA是Spring框架的一部分,它提供了一個簡化的方式來與關系型數(shù)據(jù)庫進行交互。JPA代表Java持久化API,它是Java EE規(guī)范中定義的一種對象關系映射(ORM)標準。Spring Data JPA在JPA的基礎上提供了更高級的抽象,使得開發(fā)人員能夠更輕松地進行數(shù)據(jù)庫操作。 使用Spring Data

    2024年02月15日
    瀏覽(31)
  • Spring Data JPA 快速上手

    Spring Data JPA 快速上手

    JPA的全稱是Java Persisitence API,即JAVA持久化API,是sum公司退出的一套基于ORM的規(guī)范,內部是由一些列的接口和抽象類構成。JPA通過JDK5.0注解描述對象-關系表的映射關系,并將運行期的實體對象持久化到數(shù)據(jù)庫中。 Spring Data的優(yōu)勢:可以操作多種數(shù)據(jù)庫,關系型數(shù)據(jù)庫,非關系

    2024年04月23日
    瀏覽(27)
  • Jpa與Druid線程池及Spring Boot整合(一): spring-boot-starter-data-jpa 搭建持久層

    Jpa與Druid線程池及Spring Boot整合(一): spring-boot-starter-data-jpa 搭建持久層

    ? ? ? ? ? ? ? ? ? ? ? Jpa與Druid線程池及Spring Boot整合(一) Jpa與Druid線程池及Spring Boot整合(二):幾個坑 附錄官網文檔:core.domain-events域事件 docker實戰(zhàn)(一):centos7 yum安裝docker docker實戰(zhàn)(二):基礎命令篇 docker實戰(zhàn)(三):docker網絡模式(超詳細) docker實戰(zhàn)(四):docker架構原理 docker實戰(zhàn)(五

    2024年02月13日
    瀏覽(34)
  • Jpa與Druid線程池及Spring Boot整合(二): spring-boot-starter-data-jpa 踏坑異常處理方案

    Jpa與Druid線程池及Spring Boot整合(二): spring-boot-starter-data-jpa 踏坑異常處理方案

    ? ? ? ? ? ? ? ? ? ?? docker實戰(zhàn)(一):centos7 yum安裝docker docker實戰(zhàn)(二):基礎命令篇 docker實戰(zhàn)(三):docker網絡模式(超詳細) docker實戰(zhàn)(四):docker架構原理 docker實戰(zhàn)(五):docker鏡像及倉庫配置 docker實戰(zhàn)(六):docker 網絡及數(shù)據(jù)卷設置 docker實戰(zhàn)(七):docker 性質及版本選擇 認知升維: 道、法、

    2024年02月13日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包