Spring Data JPA如何建立表的联合主键
发表于:2024-10-23 作者:千家信息网编辑
千家信息网最后更新 2024年10月23日,这篇文章主要为大家展示了"Spring Data JPA如何建立表的联合主键",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Spring Data JPA如
千家信息网最后更新 2024年10月23日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安全错误
数据库的锁怎样保障安全
怎样查数据库用户
实体类字段比数据库列多
检索中医药书籍用什么数据库
神魔是数据库概念模型
软件开发心路
java网络技术编程
涉及数据库安全性的操作
网络安全要注意什么事项
安溪县城厢泓涵网络技术服务部
java软件开发介绍
数据库单据号编码规则
python3导入数据库
网络安全周宣传活动资料
单机数据库和网络版
安宁信息化软件开发报价表
本质网络安全教程
英文数据库检索实训心得
勘察测绘研究院软件开发人员
中小学生与网络安全
新起点上开创网络安全工作
苹果手机阿里云邮箱服务器填什么
广西工程软件开发公司
网络安全法律构建体系
r740服务器u盘启动
软件开发和工商管理
台湾服务器怎么样
中药图像材数据库
河北网络技术转让销售价格
即时通讯软件开发哪里好
北京展厅多媒体软件开发