使用JPA在数据库中创建表外键约束

时间:2018-12-02 13:12:08

标签: jpa eclipselink

在JPA项目中,当我为实体生成表时,看不到在数据库端创建的任何表外键约束。

我得出的结论是,JPA无法在数据库中创建表外键约束,并且引用完整性是在JPA(在应用程序端)而不是数据库中强制实施的。

有人可以确认吗?

1 个答案:

答案 0 :(得分:1)

根据JPA 2.2 specification,持久性管理器应创建外键约束。例如,在一对一映射的情况下:

  

假设:

     
      
  • 实体A引用了实体B的单个实例。

  •   
  • 实体B引用了实体A的单个实例。

  •   
  • 实体A被指定为关系的所有者。

  •   
     

以下映射默认设置适用:

     
      
  • 实体A映射到名为A的表。

  •   
  • 实体B映射到名为B的表。

  •   
  • 表A包含表B的外键。外键列名称由以下内容的串联形成:关系属性的名称或实体A的字段;表B中的主键列的名称。外键列的类型与表B的主键相同,并且具有唯一的键约束。

  •