Customized Benennung der Spalten in JPA Beziehungen
-
03-07-2019 - |
Frage
Wenn ich machen relationsships mit JPA mit Hibernate, einige schreckliche lange und ackward Spaltennamen generiert werden.
Z.B. Ich habe folgende actionPlan_actionPlanPK
, was bedeutet, dass die Spalte actionPlan
ein FK ist, die actionPlanPK
Punkte.
Um es aussieht nur ein wenig mehr ordentlich in der DB Ich möchte, wenn ich ihm einen Namen mir geben könnte, vorzugsweise nur den Namen in der Entity-Klasse hat, die die Beziehung besitzt.
Ist das möglich mit JPA?
Lösung
Ja. Es ist möglich, Ihren eigenen Namen für eine Spalte angeben, wenn Sie nicht zufrieden mit den Standardnamen sind. Zum Beispiel in der Klasse mit dem Verweis auf die-Aktions Sie angeben können:
@ManyToOne
@JoinColumn(name="actionplanId")
public ActionPlan getActionPlan(){
}
Und so wird der Spaltenname "actionplanid".
Andere Tipps
Diese Fähigkeit ist Teil der JPA-Spezifikation und ermöglicht die Benennung viele Ihrer Datenbankstrukturen in den Anmerkungen. Dazu gehören:
Benennen Sie Ihre Tabelle wie folgt:
@Entity
@Table(name="better_table_name")
public class MyConvolutedClassName {
}
Benennen von Spalten wie folgt:
@Column(name="better_column_name")
private Date myConvolutedDateColumn;
Benennen von Spalten, die Teil einer Beziehung sind:
@ManyToOne
@JoinColumn(name="better_join_column_name")
private ClassName otherModelClass;
Es gibt eine große (wenn auch nicht ganz up-to-date) Spickzettel für EJB 3.0 Anmerkungen (die JPA enthält) verfügbar unter http://www.fnogol.de/media/ejb3.0-anno-cheat-1.2.pdf .