Spring Boot JPA 使用以及设置多个主键

本文介绍了在SpringData JPA中实现复合主键的两种方法:通过@IdClass注解和通过@Embeddable与@EmbeddedId注解。文章详细讲解了每种方法的具体实现步骤,并提供了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、spring data jpa的使用

推荐以下两篇文章

spring data jpa的使用
spring-boot-jpa 使用

@PreUpdate 和@PrePersist

二、设置多个主键(复合主键)

下面介绍两种方法:

第一种:@IdClass来设置多个主键

1、先写一个包含主键的类

@Data
public class PrimaryKey implements Serializable {

    private Integer id;

    private Integer userId;
}

2、在Entity类中,按照如下方式使用

@Data
@Entity
@Table(name = "xx")
@IdClass(PrimaryKey.class)
@EqualsAndHashCode(callSuper = true)
@DynamicUpdate
public class MyEntity{

    /**
     * @description 主键
     */
    @Id
    @Column(name = "id", nullable = false)
    private Integer id;

    /**
     * @description 主键
     */
    @Id
    @Column(name = "user_id", nullable = false)
    private Integer userId;

}

参考:

Spring Boot JPA 复合主键只查询部分主键

第二种:@Embeddable和@EmbeddedId来设置联合主键

推荐这篇文章:两个属性定义一个主键:JPA中的联合主键

关注我的公众号,轻松了解和学习更多技术
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值