在Hibernate中,要指定用于加入关联的列,请使用@JoinColumn注释,例如:

@ManyToOne
@JoinColumn(name="address_id")
public Address getAddress() {
    return address;
}

在大多数情况下,列的名称是蛇形的类名加_id。因此,可以期望从Hibernate自动派生它(例如在Django的ORM中完成)。但是这种行为是否以某种方式实现?

最佳答案

JPA不必遵循配置原则上的约定,这意味着总有一些默认值可以用注释覆盖。

@JoinColumn的情况下,默认列名的生成如下:<field_name>_<id_column_name>
在您的情况下,field_nameaddressid_column_name指的是相关实体的ID,即id。因此,默认情况下会获得address_id

10-05 22:52