2016-07-21 5 views
0

Ich bin neu bei Hibernate.Hibernate: Warum O/R-Mapping verwenden?

1) Ich verstehe nicht ganz, warum wir O/R Zuordnung Beziehung in * .hbm.xml Datei angeben oder Anmerkungen für "Eins-zu-Eins", "Eins-zu-viele", etc in Datenbanken. Ist es ein Muss, sie zu haben? Wie funktioniert die O/R-Mapping-Beziehung wirklich hinter der Szene?

2) Was ist der Unterschied zwischen dem Hinzufügen von Beziehung zu * .hbm.xml und Databean Annotation? Sollen wir beides tun? Vor- und Nachteile für jeden von ihnen?

+0

FYI Ich habe beschlossen zu schließen, da diese Frage einfach zu weit gefasst ist. Ich werde aufheben, wenn Sie versuchen können, genauer zu sein. Die '* .hbm.xml' sind die veraltete Methode im Hibernate der Zuordnung von Java-POJOs zu Datenbank-Entitäten (normalerweise Tabellen). Heutzutage verwenden die meisten Benutzer JPA-Anmerkungen. –

+0

@AdamGent Der Hauptgrund, warum ich diese Frage stelle, ist, dass ich nicht verstehe, warum wir Beziehungsanmerkung verwenden müssen, wenn ich Hibernate-Tutorials online lese. http://www.tutorialspoint.com/hibernate/hibernate_or_mappings.htm Ob es ein Muss ist und warum. –

+0

@AdamGent Es wird großartig, wenn Sie einige gute Dokumente empfehlen können, die klar erklären können, warum wir das brauchen. Ich kann nicht wirklich sehen, warum eine direkte Frage wie diese zu weit gefasst ist? –

Antwort

1

1.

Sie brauchen nicht die *.hbm.xml Dateien. Es gibt viele Beispiele im Internet, die JPA-Anmerkungen verwenden. Es gibt ORM-Implementierungen, die keine Konfiguration benötigen und die Datenbank zum Erstellen von Klassen verwenden (insbesondere in dynamisch typisierten Sprachen), aber Hibernate gehört nicht dazu.

Hibernate betrachtet die Klasse und Konfiguration (JPA-Annotationen und/oder XML) und prüft, ob eine Entität vorhanden ist und korrekt übereinstimmt (abhängig von der Konfiguration).

2.

Der Vorteil des XML zu verwenden ist, dass Ihre Domain-Objekte in der Theorie sind etwas weniger gekoppelt, aber diese Regel nicht die Mühe wert, in der Praxis, weil die Anmerkungen (JPA) selbst entkoppelt sind. Wenn die Anmerkungen mit Hibernate und Hibernate geschützt wären, wäre dies eher ein Problem. Manche Leute mögen auch keine Anmerkungen.

Der große Vorteil der Verwendung von JPA-Annotationen ist in Theorie Sie können JPA-Implementierungen wechseln, die nicht mit Hibernate XML-Dateien der Fall ist. In der Praxis ist es jedoch eine nicht triviale Aufgabe, JPA-Implementierungen im Midstream zu ändern.

+0

für JPA-Anmerkungen, glaubst du, ich sollte diesem Dokument folgen http://www.techferry.com/articles/hibernate-jpa-annotations.html? –

+0

Scheint mir gut, aber ich habe es nicht ganz durchgegangen. –