当我使用hibernate与JPA建立关系时,会生成一些可怕的长而笨拙的列名。
例如。我有以下 actionPlan_actionPlanPK ,这意味着 actionPlan 列是一个指向 actionPlanPK 的FK。
为了让它在数据库中看起来更整洁,我希望自己可以给它一个名字,最好只是它拥有关系的实体类中的名称。

这可以用JPA吗?

有帮助吗?

解决方案

是。如果您对默认名称不满意,可以为列指定自己的名称。例如,在引用ActionPlan的类中,您可以指定:

@ManyToOne
@JoinColumn(name="actionplanId")
public ActionPlan getActionPlan(){

}

因此,列名称将是“actionplanid”。

其他提示

此功能是JPA规范的一部分,允许在注释中命名许多数据库结构。其中包括:

按如下方式命名表:

@Entity
@Table(name="better_table_name")
public class MyConvolutedClassName {
}

按如下方式命名列:

@Column(name="better_column_name")
private Date myConvolutedDateColumn;

命名属于关系的列:

@ManyToOne
@JoinColumn(name="better_join_column_name")
private ClassName otherModelClass;

http://www.fnogol.de/media/ejb3.0-anno-cheat-1.2.pdf

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top