Spring Data JPA如何建立表的联合主键
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要为大家展示了"Spring Data JPA如何建立表的联合主键",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Spring Data JPA如
千家信息网最后更新 2025年02月01日Spring Data JPA如何建立表的联合主键
这篇文章主要为大家展示了"Spring Data JPA如何建立表的联合主键",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Spring Data JPA如何建立表的联合主键"这篇文章吧。
第一种方式:
第一种方式是直接在类属性上面的两个字段都加上 @Id 注解,就像下面这样,给 stuNo 和 stuName 这两个字段加上联合主键:
@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;}
只不过需要注意的是,实体类需要实现 Serializable 接口。
这种方式不是很好,虽然可以成功的创建表,但是使用 JpaRepository 的时候,需要指定主键 ID 的类型,这时候就会报错,所以使用第二种方式更好。
第二种方式:
实现起来也很简单,我们需要新建一个类,还是以 stuNo 和 stuName 建立联合主键,这个类需要实现 Serializable 接口。
public class StudentUPK implements Serializable { private Integer stuNo; private String stuName;}
然后在实体类 Student 上面加上 @IdClass 注解,两个字段上面还是加上 @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;}
这样就能成功的创建表了,而且在使用 JpaRepoistory 的时候,可以指定主键为那个 StudentUPK 类,就像这样:public interface StudentRepository extends JpaRepository
以上是"Spring Data JPA如何建立表的联合主键"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
联合
方式
两个
内容
字段
注解
篇文章
成功
实体
接口
时候
还是
学习
帮助
只不过
属性
易懂
更多
条理
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库链接失败1045
计算机网络技术月薪多少
电商行业软件开发定制
幼儿网络安全为人民安全简报
联想服务器7x04无法联网
武汉紫菘通信网络技术
1.7.2服务器懒人包
单招软件开发技能测试什么
花生品种专用数据库
福建服务器机柜品牌虚拟主机
服务器 辐射 安全距离
天津学软件开发去哪比较好
哪个网站不用数据库
巨杉数据库断点续传
软件开发项目合同违约金
杭州网络安全研究所保密
国家网络安全园 海淀
红队服务器
网络安全问题六年级
网络技术对知识
为什么lol进服务器闪退
云服务器宝塔系统
nas适用的服务器cpu
sql数据库技术实验指导书
大冶软件开发大学
怎么远程登陆服务器
软件开发经理与售前
云服务器内网会出问题吗
手机在安全模式下导数据库
黄埔app软件开发服务商