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?

War es hilfreich?

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 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top