在Hibernate中,要指定用于加入关联的列,请使用@JoinColumn注释,例如:
@ManyToOne
@JoinColumn(name="address_id")
public Address getAddress() {
return address;
}
在大多数情况下,列的名称是蛇形的类名加
_id
。因此,可以期望从Hibernate自动派生它(例如在Django的ORM中完成)。但是这种行为是否以某种方式实现? 最佳答案
JPA不必遵循配置原则上的约定,这意味着总有一些默认值可以用注释覆盖。
在@JoinColumn
的情况下,默认列名的生成如下:<field_name>_<id_column_name>
在您的情况下,field_name
是address
,id_column_name
指的是相关实体的ID,即id
。因此,默认情况下会获得address_id
。