JPA関係のカスタマイズされた列の命名
-
03-07-2019 - |
質問
休止状態を使用してJPAとリレーションシップを作成すると、いくつかのひどい長い厄介な列名が生成されます。
例えば。次の actionPlan_actionPlanPK
があります。つまり、 actionPlan
列は actionPlanPK
を指すFKです。
DBでもう少し見やすくするために、自分で名前を付けることができればいいのですが、リレーションシップを所有するエンティティクラスに名前を付けてください。
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;
所属していません StackOverflow