为什么80%的码农都做不了架构师?>>>   hot3.png

在开发中,数据库中定义了一个复合主键,这时候在映射不稍微处理下会有一点问题。什么does not define an IdClass错误,乱七八糟的。反正就是有问题。进入正题。

1、首先定义一个复合主键类。也就是复合主键的名称,一定和数据库匹配。我数据库的主键就是aa_id和bb_id,因为使用mysql,jpa的默认命名方式,就是驼峰映射数据库变成下划线,就不多介绍了。然后 一定 一定 一定要实现Serializable接口,不然报错。

@Data
public class xxxRelationPK implements Serializable {private Long aaId;private Long bbId;
}

2、然后在你的数据映射到实体类上面打上一个注解,主键字段上打上@Id注解,完事。此类不需要实现Serializable接口。

@IdClass(xxxRelationPK.class)
@Id
@Column(name = "aa_id")
private Long aaId;@Id
@Column(name = "bb_id")
private Long bbId;

3、这样就完事了,还有另外一种方式也可以实现通过@Embeddable注解,不过我看比较麻烦,配置较多,不如这个方便,就用这个了,有兴趣可以去百度了解另外一种实现方式。

转载于:https://my.oschina.net/uwith/blog/3028199

springboot jpa 复合主键 联合主键相关推荐

  1. sql 复合主键 联合主键_学习SQL:主键

    sql 复合主键 联合主键 If you've already worked with databases, then you could hardly miss the term – Primary ...

  2. Mysql 主键 联合主键 索引 唯一索引 被抠细节问死的问题

    1.一张表中可以有几个主键? 答:一个. 2.那联合主键是什么? 答:一张表多个主键,就是联合主键,可以由多个列形成联合主键,但是主键只能有一个 3.主键作用是什么? 答:主键的作用是保证数据的唯一性 ...

  3. sql 设置主键 联合主键

    alter table yourtable add  ConstaintName primary key(columnName) /*ConstaintName 数据类型  yourtable 表名 ...

  4. 数据库原理与应用(SQL Server)教程 主键、外键以及联合主键、复合主键和设置种子数目和增量

    文章目录 前言 一.主键.联合主键和复合主键 (一)主键 (二)联合主键 (三)复合主键 二.外键.设置种子数目和增量 (一)外键的概念 (二)添加外键 (三)设置种子数目和增量 结语 前言 这篇文章 ...

  5. mysql 联合主键重复数据库_联合主键和复合主键有什么区别

    联合主键和复合主键有什么区别 发布时间:2020-07-11 09:52:20 来源:亿速云 阅读:171 作者:Leah 这期内容当中小编将会给大家带来有关联合主键和复合主键有什么区别,文章内容丰富 ...

  6. MySql的复合主键和联合主键的介绍

    我的个人博客 百度搜索:[迷你酷吧]网址:https://www.minikuba.com,迷你酷吧是一个基于程序员经验为基础分享技术文章.算法解题.大厂面试真题.热门项目的平台,致力于为大家提供更多 ...

  7. 数据库中复合主键与联合主键的区别?

    复合主键 复合主键:数据库表的主键由两个及以上的字段组成. 例如: CREATE TABLE `asm_device_config_info` (`asmModel` varchar(32) NOT ...

  8. mysql联合主键语句6_初探SQL语句复合主键与联合主键

    一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id nu ...

  9. mysql联合主键_初探SQL语句复合主键与联合主键

    一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id nu ...

最新文章

  1. 参数迁移表达的第三种形态相互作用
  2. elasticsearch 通过curl的操作
  3. GF(2^8)上的多项式乘法(Matlab实现)
  4. lambda表达式之进化
  5. 小艾k个人发卡网PHP源码
  6. 零售业有效利用物联网的几种方法
  7. mysql测试什么鬼,where 1=1 是什么鬼?SQL中有这玩意?
  8. CListCtrl使用方法
  9. jquery常用方法收藏 .
  10. 安装MATLAB2016a的完整步骤
  11. opendss视频教程
  12. Echarts教程_1-2 简介
  13. php连接mysql 实现登录_php如何连接mysql实现简单注册登陆页面
  14. java.lang.ClassNotFoundException: org.apache.hive.service.cli.thrift.TCLIService$Iface
  15. eclipse右下角出现 linking viewer selection with current editor 而且停不掉 导致eclipse很卡
  16. 利用word2vec训练词向量
  17. EBS R12: 通过FND_PRODUCT_INSTALLATIONS中字段STATUS确认安装使用了哪些产品(或模块)
  18. 2018年人均寿命是多少_那是2018年
  19. WebView网页视频统一全屏播放及横竖屏切换
  20. SM2256K上K9OKGY8S7D开卡成功

热门文章

  1. 最大识车数据集:6.4万张车型参数完整标注,交通安防二手都能用
  2. 英伟达开源自动驾驶AI算法,升级芯片性能7倍于Xavier
  3. SAP 操作,弹出报错 - 已根据规则拒绝服务器触发的操作,是否要查看上个通讯步骤中触发的操作列表 -
  4. 人工智能基础-算法工程师为什么要懂线性代数?
  5. AI技术诠释全新智能,多方位优化样样贴心
  6. Python 的面向对象
  7. SAP QM Batch to Batch的转移过账事务中的Vendor Batch
  8. 死前真的会有「跑马灯」,人类首次同步测量大脑濒死状态
  9. 世界半导体集成电路发展史(超细、超全)
  10. 发新款电池!成本降低14%,特斯拉会继续降价吗?