Heim >Datenbank >MySQL-Tutorial >Wie kann Hibernate automatisch Datenbanktabellen aus Entitätsklassen erstellen oder aktualisieren?

Wie kann Hibernate automatisch Datenbanktabellen aus Entitätsklassen erstellen oder aktualisieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-06 19:07:13524Durchsuche

How Can Hibernate Automatically Create or Update Database Tables from Entity Classes?

Automatisches Erstellen oder Aktualisieren von Datenbanktabellen mithilfe von Hibernate-Entitätsklassen

Frage:

Wie kann ich Hibernate so konfigurieren, dass es automatisch erstellt wird? oder Datenbanktabellen basierend auf einer definierten Entität aktualisieren Klassen?

Kontext:

Sie haben eine Entitätsklasse, ServerNode, erstellt und eine Persistenzeinheit in persistence.xml definiert. Sie verfügen außerdem über ein Skript zum Beibehalten einer Instanz von ServerNode. Die Zieldatenbank enthält jedoch noch keine Tabellen.

Lösung:

Um die automatische Tabellenerstellung oder -aktualisierung von Hibernate zu aktivieren, befolgen Sie diese Schritte:

  1. Suchen Sie in Ihrer Datei persistence.xml die Eigenschaft hibernate.hbm2ddl.auto.

    Zum Beispiel:

    <property name="hibernate.hbm2ddl.auto" value="create" />
  2. Setzen Sie den Wert von hibernate.hbm2ddl.auto auf einen der folgenden Werte:

    • create: Erstellt Tabellen während der sessionFactory-Erstellung und verlässt sie sie intakt.
    • create-drop: Erstellt Tabellen während der sessionFactory-Erstellung und löscht sie, wenn die sessionFactory geschlossen wird.
  3. (Optional) Um den Tabellennamen explizit anzugeben, verwenden Sie die Annotation javax.persistence.Table in Ihrer Entität Klasse.

    Zum Beispiel:

    @Entity
    @Table(name = "ServerNodes")
    public class ServerNode {
        // ...
    }

Das obige ist der detaillierte Inhalt vonWie kann Hibernate automatisch Datenbanktabellen aus Entitätsklassen erstellen oder aktualisieren?. 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