Hibernate Tutorial
Hibernate, erstellt vonGavin King, bekannt als das beste und dominierte ORM-Tool (Object / Relational Persistence) für Java-Entwickler (unterstützt jetzt .NET). Es bietet viele elegante und innovative Möglichkeiten, um die Handhabung relationaler Datenbanken in Java zu vereinfachen.
Hibernate ist in vielen Dingen großartig, aber es ist etwas, das angemessen verwendet werden muss. In diesen Tutorials finden Sie viele schrittweise Beispiele und Erklärungen zur Verwendung von Hibernate3.
P.S Tutorials are updated to Hibernate v3.6.1.Final.
Schnellstart im Ruhezustand
Hallo Welt Beispiel, um das Hibernate-Framework zu erleben.
-
Maven 2 + Hibernate 3.2.3 + MySQL 5.0 Example (XML Mapping)
Beispiel für den Ruhezustand 3.2.3 in der MySQL-Datenbank mit klassischer Hbm-Zuordnung. -
Maven 2 + Hibernate 3.2.3 + MySQL 5.0 Example (Annotation)
Beispiel für den Ruhezustand 3.2.3 in der MySQL-Datenbank mit Hibernate / JPA-Annotation. -
Maven 3 + Hibernate 3.6.3 + Oracle 11g Example (XML Mapping)
Beispiel für den Ruhezustand 3.6 in einer Oracle-Datenbank mit klassischer Hbm-Zuordnung. -
Maven 3 + Hibernate 3.6.3 + Oracle 11g Example (Annotation)
Hibernate 3.6-Beispiel in einer Oracle-Datenbank mit Hibernate / JPA-Annotation.
Hibernate Association (Tabellenbeziehung)
So definieren Sie die Tabellenbeziehung Eins-zu-Eins, Eins-zu-Viele, Viele-zu-Mai im Ruhezustand.
-
One-to-One example (XML Mapping)
Ruhezustand eins zu eins Beispiel mit hbm Zuordnungsdatei. -
One-to-One example (Annotation)
Ruhezustand eins zu eins Beispiel mit Anmerkungscode. -
One-to-Many example (XML Mapping)
Ruhezustand ein bis viele Beispiele mit einer hbm-Zuordnungsdatei. -
One-to-Many example (Annotation)
Ruhezustand ein bis viele Beispiele mit Anmerkungscode. -
Many-to-Many example (XML Mapping)
Ruhezustand viele bis viele Beispiele (KEINE zusätzliche Spalte in der Verknüpfungstabelle) mit der IBM-Zuordnungsdatei. -
Many-to-Many example (Annotation)
Ruhezustand viele bis viele Beispiele (KEINE zusätzliche Spalte in der Verknüpfungstabelle) mit Anmerkungscode. -
Many-to-Many example – join table + extra column (Annotation)
Ruhezustand viele mit vielen Beispielen (MIT zusätzlicher Spalte in der Verknüpfungstabelle) mit Anmerkungscode. -
Off Topic : Understand inverse keywork, example and explanation
Das "Inverse" ist das verwirrendste Schlüsselwort im Ruhezustand, aber Sie müssen dies klar verstehen, um Ihre Beziehungsleistung zu optimieren.
Ruhezustand / JBoss Tools + Eclipse IDE
Erfahren Sie, wie Sie die Hibernate-Tools verwenden.
-
Install Hibernate / JBoss Tools in Eclipse IDE
Installieren Sie den Ruhezustand in Ihrer Eclipse-IDE. -
Generate Hibernate mapping files & annotation with Hibernate Tools
Generiert automatisch Ruhezustandscodes für Sie.
Ruhezustand-Protokollierung
So melden Sie sich im Ruhezustand an
-
Configure logging in Hibernate – SLF4j + Log4j
Integrieren Sie SLF4j + Log4j in den Ruhezustand. -
Configure logging in Hibernate – Logback
Logback in den Ruhezustand integrieren.
Ruhezustand-Verbindungspool
So konfigurieren Sie den Datenbankverbindungspool im Ruhezustand
-
Configure C3P0 connection pool in Hibernate
Integrieren Sie C3P0 in den Ruhezustand. -
Configure DBCP connection pool in Hibernate
Integrieren Sie Apache DBCP in den Ruhezustand.
Hibernate Cascade
Die Kaskade des Ruhezustands wird verwendet, um den Status der anderen Seite automatisch zu verwalten.
-
Cascade example (save, update, delete and delete-orphan)
Kaskadenbeispiele zum Speichern, Aktualisieren, Löschen und Löschen von Waisen. Und der Unterschied zwischen Delete und Delete Orphan. -
Different between cascade and inverse
Viele Entwickler im Ruhezustand sind verwirrt über den Unterschied zwischen Kaskade und Invers, hier ist die Erklärung. -
Cascade – JPA & Hibernate annotation common mistake
Ein supereinfacher häufiger Anmerkungsfehler von Anfängern oder erfahrenen Hibernate-Entwicklern - JPA-Kaskadenanmerkung im Ruhezustand?
Ruhezustand-Abfragesprache (HQL)
Hibernate eigene Sprache für die Datenmanipulation, es ist ziemlich ähnlich zu Datenbank-SQL-Sprache.
-
Hibernate Query examples (HQL)
HQL-CRUD-Beispiele: Auswählen, Aktualisieren, Löschen und Batch-Einfügen (keine Unterstützung für einzelne Einfügungen). -
Hibernate parameter binding examples
Binden Sie den Parameter mit den Methoden "Named Parameters" und "Positional Parameters" in HQL. -
How to embed Oracle hints in Hibernate query
Ein Trick zum Einbetten der Oracle-Hinweise in die Ruhezustandsabfrage, um die Leistung der Oracle-Abfrage zu erhöhen.
Kriterien für den Ruhezustand
Die Hibernate Criteria API ist eine Alternative zur Hibernate Query Language (HQL). Bei vielen optionalen Suchkriterien ist dies immer eine gute Lösung.
-
Hibernate Criteria examples
Kriterienbeispiele - Basisabfrage, Bestellabfrage, Einschränkungsabfrage und Paging des Ergebnisses.
Native SQL in den Ruhezustand versetzen
In einigen Szenarien reicht Hibernate HQL oder Criteria einfach nicht aus, um das zu tun, was Sie möchten. Hier können Sie die SQL-Sprache der nativen Datenbank direkt verwenden.
-
Hibernate native SQL queries examples
Eine Anleitung zur Verwendung von nativem SQL im Ruhezustand.
Benannte Abfrage im Ruhezustand
Mit Named Query können Entwickler den HQL-Code aus Gründen der Wartbarkeit in eine XML-Zuordnungsdatei oder eine Anmerkung einfügen. Sie möchten jedoch nicht, dass die gesamte HQL-Syntax über den gesamten Java-Code verteilt ist. :)
-
Hibernate named query examples
Arbeiten mit benannten Abfragen in XML-Dateien und Anmerkungen.
Transaktion im Ruhezustand
Alle Dinge im Zusammenhang mit Transaktionen im Ruhezustand
-
Hibernate Transaction handle example
Ein einfaches Standardbeispiel für die Verwendung der Hibernate-Transaktion.
Hibernate Advance-Technik
Einige Hibernate Advance-Techniken, die nur selten angewendet werden, jedoch praktische Fähigkeiten (Datenfilter und Interceptor).
-
Hibernate data filter example – XML and annotation
Der Datenfilter im Ruhezustand wird verwendet, um die abgerufenen Daten aus der Datenbank zu filtern. Hier finden Sie eine Anleitung zum Arbeiten mit dem Datenfilter in XML oder Annotation. -
Hibernate interceptor example – audit log
Der Hibernate-Interceptor wird zum Abfangen der Hibernate-Ereignisse wie CRUD-Operationen verwendet. Dies ist ein detailliertes Beispiel für die Implementierung eines Überwachungsprotokolls mit dem Hibernate-Interceptor.
Ruhezustand
Einige Verbesserungen beschleunigen den Ruhezustand :)
-
dynamic-insert attribute example
Verwenden von Dynamic-Insert, um zu vermeiden, dass unveränderte Eigenschaften in die SQL INSERT-Anweisung aufgenommen werden. -
dynamic-update attribute example
Verwenden von Dynamic-Insert, um zu vermeiden, dass unveränderte Eigenschaften in die SQL UPDATE-Anweisung aufgenommen werden. -
Hibernate mutable example (class and collection)
Verwenden eines veränderlichen Schlüsselworts, um zu vermeiden, dass unnötige SQL-Anweisungen generiert werden. -
Hibernate – fetching strategies examples
Hibernate-Abrufstrategien werden verwendet, um die im Hibernate generierte select-Anweisung zu optimieren. Dies ist ein Muss für jeden Hibernate-Entwickler. -
Different between session.get() and session.load()
Verstehen, wann get oder load zum Abrufen des Objekts verwendet werden soll, um unnötige Treffer in der Datenbank zu vermeiden.
Integrieren Sie den Ruhezustand in andere Frameworks
Beispiele für die Integration von Hibernate in andere Frameworks.
-
Struts + Hibernate Integration
Beispiel für die Integration von Hibernate in das Struts-Framework. -
Struts + Spring + Hibernate Integration
Beispiel für die gemeinsame Integration von Hibernate mit Struts und Spring Framework. -
Spring + Hibernate Integration
Beispiel für die Integration von Hibernate in das Spring-Framework. -
Spring + Hibernate Integration (Annotation)
Beispiel für die Integration von Hibernate in das Spring Framework (Annotation-Version).
Hibernate FAQ
Einige Frequenzen beantworten Fragen:
-
How to load hibernate.cfg.xml from different directory
Standardmäßig überprüft Hibernate die Datei hibernate.cfg.xml im Pfad der Projektklasse. Hier finden Sie eine Anleitung zum Laden aus dem angegebenen Ordner. -
How to add Hibernate XML mapping file (hbm.xml) programmatically
Ein Tipp zum programmgesteuerten Laden von hibernate.cfg.xml -
List of Hibernate database Dialect
Liste der Dialektsammlung für verschiedene Arten von Datenbankanbietern. -
show_sql , format_sql and use_sql_comments
Konfigurieren Sie den Ruhezustand so, dass die generierte SQL-Anweisung der Konsole angezeigt wird. -
How to display hibernate sql parameter values – P6Spy
Verwenden der P6Sqpy-Bibliothek eines Drittanbieters zum Anzeigen des SQL-Parameterwerts für den Ruhezustand. -
How to display hibernate sql parameter values – Log4j
Verwenden von Log4j zum Anzeigen des SQL-Parameterwerts für den Ruhezustand. -
How to call store procedure in Hibernate
Es wird nicht empfohlen, Geschäftslogik in die Speicherprozedur zu integrieren. Es ist jedoch egal, dass Sie die Speicherprozedur im Ruhezustand aufrufen können. -
How to use database reserved keyword in Hibernate
In einigen besonderen Fällen müssen Sie möglicherweise das Datenbankschlüsselwort in Ihrer Hibernate-Klasse verwenden (nicht empfohlen). Hier ist ein Trick, um dies zu erreichen. -
How to save an image into database
Ein Tutorial, das zeigt, wie Sie mit Hibernate ein Bild in einer Datenbank speichern.
Häufig auftretende Fehler im Ruhezustand
Hier finden Sie eine Liste der häufigsten Fehlermeldungen in der Ruhezustand-Entwicklung.
-
Kann nicht eingefügt werden, wenn die benannte Spalte ein Schlüsselwort ist, z. B. DESC
-
Ruhezustand - C3P0ConnectionProvider konnte nicht gefunden werden
-
java.lang.ClassNotFoundException : javassist.util.proxy.MethodFilter
-
Denken Sie daran, dass Ordnungsparameter 1-basiert sind! - Vorlage für den Ruhezustand
-
Für die Verwendung ist eine AnnotationConfiguration-Instanz erforderlich
-
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
-
java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap
-
java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
-
java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/DataSources
-
java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager
-
java.lang.NoClassDefFoundError: javax/transaction/Synchronization
-
java.lang.ClassNotFoundException: javax.transaction.TransactionManager
Off Topic
-
Why i choose Hibernate framework for my project?
Die Gründe, warum ich Hibernate im zukünftigen Projekt implementieren möchte.