2016-10-02 4 views
1

Ich bin neu im Winterschlaf. Von der Internetquelle lernen. Wie wir wissen, können wir mit Hilfe des Hibernate Dialekts leicht eine Datenbank in eine andere migrieren (z. B. DB2 nach MySQL), d. H. Nur Java-Teile, die wir migrieren können.Datenbankmigration mit Hibernate

Aber wie migrieren Stored Procedure und Indexing, die datenbankspezifisch sind? Und kann Hibernate bieten solche Funktion zu migrieren?

+0

Ich denke, diese Frage ist zu breit. Was meinst du mit Datenbankmigration? Mit Hibernate kann es möglich sein, den gleichen Code in verschiedenen Datenbanken zu verwenden (in der Praxis ist es wahrscheinlich schwieriger, teilweise aufgrund der von Ihnen erwähnten Probleme (z. B. gespeicherte Prozeduren). Dies kann nicht automatisch von Hibernate ausgeführt werden). Aber die Übertragung von Daten von einem DB zu einem anderen ist ein anderes Problem, das nicht die Aufgabe von Hibernate ist. – user140547

+0

Ok, Danke für deinen Kommentar. Ja, ich bin mit deinem Kommentar einverstanden, dass Hibernate sich nicht um datenbankspezifische Dinge kümmert (Store Procedure oder Index). Irgendeine Idee, welches Werkzeug ist verfügbar, um uns erfolgreich Datenbankmigration von DB2 zu MySQL oder Postgresql zu helfen? – user1997254

Antwort

0

Hibernate wird verwendet, um ein Java-Klassenobjekt in der Datenbank zu speichern und es so wie es ist abzurufen. Das ist ein ORM-Framework. Der Ruhezustand kann Ihnen bei Ihrer DB-Migration wie folgt helfen:

. Durch Ändern einiger Eigenschaften wie Dialekt, Verbindungs-URL, Treiberklasse usw. können Sie die Java-Klassenobjekte in der neuen DB, zu der Sie migrieren, speichern/holen.

. Reverse Engineering: Wenn Sie in Ihrer alten DB bereits Tabellenstrukturen (die alle Beziehungen zwischen den Tabellen enthalten) haben, können Sie mit Reverse Engineering die POJO-Klassen für den Hibernate erstellen.

Netbeans verfügt über eine integrierte Unterstützung für Reverse Engineering.
Hibernate Tool/Plugin kann für Eclipse IDE verwendet werden, um Reverse Engineering zu erreichen.

Die gespeicherten Prozeduren, Trigger usw., die in Ihrer Datenbank erstellt wurden, stammen nicht aus dem Ruhezustand. Es bedeutet, dass Winterschlaf nichts damit zu tun hat. Weil die zusätzlichen Dinge (Prozedur, Cursor, Trigger usw.), die an Ihrer Datenbank arbeiten, einen besonderen Zweck haben, als eine Java-Anwendung zum Speichern/Bearbeiten/Abrufen von Daten.

Daher können Sie von alten DB zu einem neuen migrieren, aber Sie müssen nicht Ruhezustand, um diese zusätzlichen Dinge zu migrieren. Stattdessen können Sie einige Techniken oder Verfahren wie diese Migrating Oracle Databases to SQL Server verwenden.

Diese Dinge (gespeicherte Prozeduren, Trigger Migration) kann auf Datenbankebene erfolgen und die Java-Anwendung hat nichts damit zu tun.

+0

Beliebiger Link oder eine Anleitung zum Migrieren von DB2 zu MySQL ????? – user1997254

Verwandte Themen