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.
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. –
@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. –
@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? –