JPA OneToMany列名

时间:2018-04-06 20:03:01

标签: jpa rename one-to-many

如何在JPA中设置一对多关系时设置外键的列名?

我想将“items_id”的名称更改为“item_id”

@OneToMany
private List<Item> items;

我尝试了以下注释但没有成功:

  1. @JoinColumn(name =“item_id”)//未创建连接表
  2. @Column(name =“item_id”)//无效

1 个答案:

答案 0 :(得分:3)

您希望覆盖连接表的默认值的映射,因此@JoinTable注释是要使用的注释。您要覆盖从items_iditem_id的inverseJoinColumn的名称:

    @OneToMany
    @JoinTable(inverseJoinColumns=@JoinColumn(name="item_id"))
    List<Item> items;

@OneToMany@JoinColumn生成不同的映射,不创建连接表,并在引用的实体表中创建外键(在您的案例中的Item表中)。

@Column用于覆盖实体属性的名称,而不是用于关系。