質問

休止状態を使用して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;

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top