📌  相关文章
📜  @JoinColumn(name="ID", referencedColumnName = "ID") 的用途是什么 (1)

📅  最后修改于: 2023-12-03 15:29:14.301000             🧑  作者: Mango

@JoinColumn(name="ID", referencedColumnName="ID")

@JoinColumn 主要用于建立一对多或者多对一的实体映射关系。它可以指定外键列的名称以及引用的目标实体的属性名称。

参数
  • name: 指定外键列名,可以和目标实体的属性名称不同。
  • referencedColumnName: 指定目标实体的属性名称,默认为主键。
使用示例

考虑一个订单实体类和一个客户实体类之间的一对多关系:

@Entity
public class Order {
  @Id
  private Long id;
  
  @ManyToOne
  @JoinColumn(name = "customer_id", referencedColumnName = "id")
  private Customer customer;
  
  // ...
}

这里我们使用 @ManyToOne 注解将 Order 实体类中的 customer 属性与 Customer 实体类关联起来。使用 @JoinColumn 注解来指定关联的外键列名为 customer_id,并且关联的目标实体的属性名称为 id

@Entity
public class Customer {
  @Id
  private Long id;
  
  // ...
}
结论

@JoinColumn 主要用于建立一对多或者多对一的实体映射关系,用来指定外键列的名称以及引用的目标实体的属性名称。掌握了这个注解,我们就可以更好地定义实体类之间的关联关系,并操作管理数据。