Heim >Java >javaLernprogramm >Wie steuere ich die Spaltenreihenfolge in JPA-generierten Tabellen?

Wie steuere ich die Spaltenreihenfolge in JPA-generierten Tabellen?

Susan Sarandon
Susan SarandonOriginal
2024-10-27 13:11:30403Durchsuche

How to Control Column Ordering in JPA Generated Tables?

Problem: Falsche Reihenfolge der generierten Datenbanktabelle in JPA

Beim Versuch, eine Tabelle mit einer bestimmten Spaltenreihenfolge zu erstellen, ist eine Diskrepanz aufgetreten wo die Reihenfolge der generierten Tabelle geändert wurde. Sie haben ein Entity-Bean erstellt und die gewünschte Reihenfolge mithilfe der @Column-Annotation angegeben, aber die Spaltenreihenfolge der Datenbanktabelle bleibt falsch.

Erklärung:

Hibernate generiert Datenbankspalten standardmäßig alphabetisch sortiert. Dies geschieht, um eine deterministische Reihenfolge über Cluster hinweg sicherzustellen, auch wenn frühere Versionen von Hibernate eine Reihenfolge basierend auf dem Vorkommen erlaubten.

Lösung:

Da Hibernate eine alphabetische Reihenfolge erzwingt, ist dies die einzige Die verfügbare Problemumgehung besteht darin, die Spaltennamen im Entity-Bean manuell so zu ändern, dass sie die gewünschte Reihenfolge widerspiegeln. Zum Beispiel:

<code class="java">@Column(name = "orgNumber")
public String getOrganizationNumber() { ... }

@Column(name = "orgName")
public String getName() { ... }</code>

Dadurch wird sichergestellt, dass die Tabellenspalten in der durch die neuen Spaltennamen angegebenen Reihenfolge generiert werden.

Das obige ist der detaillierte Inhalt vonWie steuere ich die Spaltenreihenfolge in JPA-generierten Tabellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn