首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JPA:@PrimaryKeyJoinColumn(...)和@JoinColumn(...,insertable = ?, updatable =?)相同?

这个问题是关于Java Persistence API (JPA) 中的两个注解:@PrimaryKeyJoinColumn@JoinColumn。这两个注解都用于在实体关系映射中定义主键和外键之间的关系。

  1. @PrimaryKeyJoinColumn

@PrimaryKeyJoinColumn 注解用于将一个实体的主键与另一个实体的外键相关联。这个注解通常用于实现继承关系中的单表策略。在这种策略中,所有的实体都映射到同一个数据库表中,并通过一个名为 "DTYPE" 的类型列来区分它们。

  1. @JoinColumn(..., insertable = ?, updatable = ?)

@JoinColumn 注解用于定义两个实体之间的关联关系。这个注解可以用于一对一、一对多和多对一的关系。insertableupdatable 属性用于指定在执行插入和更新操作时,是否允许修改关联关系。

现在回答你的问题:JPA 中的 @PrimaryKeyJoinColumn@JoinColumn(..., insertable = ?, updatable = ?) 是不完全相同的。@PrimaryKeyJoinColumn 注解用于实现继承关系中的单表策略,而 @JoinColumn 注解用于定义实体之间的关联关系。尽管它们都用于定义主键和外键之间的关系,但它们的用途和场景是不同的。

推荐的腾讯云相关产品:

  1. 腾讯云数据库:提供了 MySQL、PostgreSQL、MongoDB 等多种数据库服务,可以满足不同应用场景的数据存储需求。
  2. 腾讯云容器服务:支持 Kubernetes 集群的部署和管理,可以实现云原生应用的快速部署和扩展。
  3. 腾讯云云服务器:提供了弹性、高性能的虚拟化云服务器,可以满足各种应用的计算需求。

产品介绍链接地址:

  1. 腾讯云数据库:https://cloud.tencent.com/product/cdb
  2. 腾讯云容器服务:https://cloud.tencent.com/product/tke
  3. 腾讯云云服务器:https://cloud.tencent.com/product/cvm
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Jpa 中怎么玩一对多?

    Jpa 中的一对一、一对多没搞明白的话,总会觉得有点绕,今天咱们来简单聊聊这个话题。 1. 一对一 比如说一个学校有一个地址,一个地址只有一个学校。...,updatable = false)     private Integer aid; } 在 Address 中自定义一个 sid,并设置该字段不可添加修改,然后通过 @JoinColumn 注解去指定关联关系...(name = "cid")     private Clazz clazz;     @Column(insertable = false,updatable = false)     private... Integer cid; } 定义一个 cid 属性,并设置为不可编辑不可添加,然后通过 @JoinColumn 注解配置 cid 属性为外键。...好啦,几个小小的案例,希望对大家有所帮助,公众号后台回复 jpa02,获取本文案例下载链接。

    73520

    如何在 Spring Boot 中 读写数据

    如何在 Spring Boot 中 读写数据 1.2 JPA 规范 ORM映射元数据:JPA支持XML注解两种元数据形式。...策略有两种EAGERLAZY,它们分别表示为主动读取与懒加载。默认为 EAGER。 (6)@Column 表示列的说明,如果字段名与列名相同,则可以省略。 @Column 注解拥有以下属性: ?...2.3 实体类关系注解 Spring Data JPA 有四种关系注解,它们分别是 @OneToOne、@OneToMany、@ManyToOne @ManyToMany。...有时候会看到注解 @PrimaryKeyJoinColumn(name = "...") ,其实它本质上是 @Id 与 @JoinColumn(name = "...") 的组合体。...private List user; 如果不指定@JoinColumn 注解,Hibernate会自动生成一张中间表来对用户部门进行绑定,这张中间表默认的命名规则为:实体类表名_实体类中指定的属性名

    15.9K10

    快速学习-JPA中的多对多

    第4章 JPA中的多对多 4.1 示例分析 我们采用的示例为用户和角色。 用户:指的是咱们班的每一个同学。 角色:指的是咱们班同学的身份信息。...4.2 表关系建立 多对多的表关系建立靠的是中间表,其中用户表中间表的关系是一对多,角色表中间表的关系也是一对多,如下图所示: ?...作用:用于定义主键字段外键字段的对应关系。...insertable:是否允许插入。默认值允许。 updatable:是否允许更新。默认值允许。 columnDefinition:列的定义信息。...个角色 * 让1号用户具有1号2号角色(双向的) * 让2号用户具有2号3号角色(双向的) * 保存用户和角色 * 问题: * 在保存时,会出现主键重复的错误,因为都是要往中间表中保存数据造成的

    1.6K20

    快速学习-JPA中的一对多

    第3章 JPA中的一对多 3.1 示例分析 我们采用的示例为客户联系人。 客户:指的是一家公司,我们记为A。 联系人:指的是A公司中的员工。 在不考虑兼职的情况下,公司员工的关系即为一对多。...3.3 实体类关系建立以及映射配置 在实体类中,由于客户是少的一方,它应该包含多个联系人,所以实体类要体现出客户中有多个联系人的信息,代码如下: /** * 客户的实体类 * 明确使用的注解都是JPA...@JoinColumn 作用:用于定义主键字段外键字段的对应关系。...insertable:是否允许插入。默认值允许。 updatable:是否允许更新。默认值允许。 columnDefinition:列的定义信息。...* 要求: * 创建一个客户对象一个联系人对象 * 建立客户联系人之间关联关系(双向一对多的关联关系) * 先保存客户,再保存联系人 * 问题: * 当我们建立了双向的关联关系之后

    1.9K20

    springboot整合H2(内置一个月对JPA的学习)

    JPA的宗旨是为POJO提供持久化标准规范,由此可见,经过这几年的实践探索,能够脱离容器独立运行,方便开发测试的理念已经深入人心了。...Hibernate3.2+、TopLink 10.1.3以及OpenJPA都提供了JPA的实现。 JPA的总体思想现有Hibernate、TopLink、JDO等ORM框架大体一致。...总的来说,JPA包括以下3方面的技术: ORM映射元数据 JPA支持XMLJDK5.0注解两种元数据的形式,元数据描述对象表之间的映射关系,框架据此将实体对象持久化到数据库表中; API 用来操作实体对象...@PrimaryKeyJoinColumn的区别 Use PrimaryKeyJoinColumn Use JoinColumn 地址:https://stackoverflow.com/questions.../3417097/jpa-difference-between-joincolumn-and-primarykeyjoincolumn 双向 双向其实就是在关系的另一边,也进行一遍关系的维护,例如下面的实体类

    3.6K10

    SpringBoot 实战 (十二) | 整合 thymeleaf

    常见的模板语言都包含以下几个概念:数据(Data)、模板(Template)、模板引擎(Template Engine)结果文档(Result Documents)。...数据 数据是信息的表现形式载体,可以是符号、文字、数字、语音、图像、视频等。数据信息是不可分离的,数据是信息的表达,信息是数据的内涵。数据本身没有意义,数据只有对实体行为产生影响时才成为信息。...city; /*@Temporal(TemporalType.TIMESTAMP)//将时间戳,转换成年月日时分秒的日期格式 @Column(name = "create_time",insertable...= false, updatable=false, columnDefinition = "timestamp default current_timestamp comment '注册时间'")...= false, updatable=true, columnDefinition = "timestamp default current_timestamp comment '修改时间'")

    84620

    ​元数据管理—动态表单设计器在crudapi系统中完整实现

    length 长度 precision 精密度、精确(精度),表示该字段的有效数字位数 scale 刻度、数值范围,表示该字段的小数位数 nullable 是否可为空 unsigned 是否无符号 insertable...系统字段 [system] 创建表单的时候会默认添加5个系统字段,分别是编号id,名称name,全文索引fullTextBody,创建时间 createdDate修改时间lastModifiedDate...普通索引主要是为了提高查询效率,这里主要介绍一下唯一性索引 [index] 客户表mobile手机字段创建唯一性索引,表示手机号不允许重复 [uqmobile] 添加客户时,录入添加已经存在的手机号,提示重复错误,期望的一致...[unionindex] 比如给customer设置一个联合索引,最终得到的索引功能之前单个字段索引类似。...演示 本系统属于产品级的零代码平台,不同于自动代码生成器,不需要生成Controller、Service、Repository、Entity等业务代码,程序运行起来就可以使用,真正0代码,可以覆盖基本的业务无关的

    1.8K70
    领券