Spring Data JPA如何建立表的联合主键
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章主要为大家展示了"Spring Data JPA如何建立表的联合主键",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Spring Data JPA如
千家信息网最后更新 2025年11月15日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安全错误
数据库的锁怎样保障安全
怎么在服务器上用linux
网络技术文案温柔
北京快鱼网络技术
ukey提示连接服务器失败
电商erp软件开发哪家服务好
电信网络技术支持要出差吗
django获取数据库舒姐
无线网络技术频段发展
更改时间同步服务器
新吴区什么是软件开发规范
地理信息数据库字段约束条件
安装vb6后导致数据库连接异常
网络安全主题发言稿
网络安全涉及范围包括是
实现备份数据库的语句
新余服务器较好的公司
文科两个主要数据库
税务网络安全事故种类及危害
江西仓储生鲜配送软件开发
linux怎么连接服务器
KEB服务器变频器
江苏精英网络技术开发计划表
数据库课程与学生关系
主机安全 网络安全 数据安全
cass 连接数据库失败
网络安全宣传课堂
超市服务器交换机怎么设置
什么催生了非关系性数据库的发展
node.js 内存数据库
erp财务软件开发流程