Java >> Java Tutorial >  >> Tag >> hibernate

Überwinterungstipps von Thorben Janssen

Hallo Thorben,

Erzählen Sie mir ein wenig über sich.

Hallo Petri,

Danke, dass du mich hast.

Ich bin seit mehr als 15 Jahren Softwareentwickler und -architekt mit starkem Interesse an Hibernate, JPA und anderen Persistenztechnologien. In den letzten Jahren habe ich in meinem Blog über JPA und Hibernate geschrieben, auf Konferenzen gesprochen und offene Klassenzimmer- und Online-Schulungen zu Hibernate angeboten.

Ich bin auch Autor des Amazon-Bestsellers Hibernate Tips – More than 70 solutions to common Hibernate problems.

Viele Leute kennen Sie als Hibernate-Experten. Warum haben Sie sich entschieden, einer zu werden?

Ehrlich gesagt ist das im Laufe der Zeit und mehr oder weniger zufällig passiert. Ich habe mich schon immer für die typischen Java-Backend-Technologien interessiert. Hibernate, als eine der beliebtesten JPA-Implementierungen, war offensichtlich ein Teil davon.

Als Entwickler habe ich Hibernate in vielen Projekten mit sehr unterschiedlichen Anforderungen eingesetzt. Manchmal musste ich riesige Datenmengen oder parallele Anfragen verarbeiten, und manchmal musste ich nur eine kleine Anwendung so schnell wie möglich implementieren.
Wie ich im Laufe der Jahre gelernt habe, hilft Hibernate Ihnen, beide Arten von Anwendungen zu implementieren. Sie benötigen jedoch ein gutes Verständnis Ihrer Anforderungen und der verschiedenen Hibernate-Funktionen.

Ende 2013 startete ich meinen Blog mit einigen Beiträgen zu JPA 2.1. Ich habe schnell gemerkt, dass sich viele andere Entwickler für das gleiche Thema interessieren. Also schrieb und lernte ich weiter über JPA und Hibernate.

Jetzt, ein paar Jahre später, habe ich mehr als 100 Beiträge über JPA und Hibernate geschrieben, an vielen interessanten Projekten gearbeitet, auf Konferenzen gesprochen, mehrere Online-, Vor-Ort- und offene Schulungen angeboten und ein Buch über Hibernate geschrieben. Und irgendwann fingen die Leute an, mich einen Experten zu nennen;-)

Was ist das häufigste Missverständnis, das Entwickler über Hibernate haben?

Das hängt davon ab, ob der Entwickler Hibernate verwenden möchte oder nicht.

Ein weit verbreitetes Missverständnis in der Gruppe der Entwickler, die Hibernate verwenden, ist, dass Hibernate für alles eine gute Lösung bietet. Wie bei jeder Software ist das nicht der Fall.

Hibernate und JPA machen die Implementierung der meisten Erstellungs-, Aktualisierungs- und Löschvorgänge sehr einfach und effizient. Aber wenn Sie viele komplexe Abfragen implementieren müssen, ist Hibernate meistens nicht die beste Wahl. Sie können natürlich native SQL-Abfragen mit Hibernate verwenden. Aber wenn Sie viele davon brauchen, sollten Sie sich andere Frameworks wie jOOQ oder QueryDSL ansehen, die dies erheblich erleichtern.

Ein weiterer weit verbreiteter Irrtum ist, dass Hibernate für Anwendungen mit hohen Leistungsanforderungen zu langsam wäre. Dieser ist besonders beliebt in der Gruppe von Entwicklern, die Hibernate nicht gerne verwenden.

Meiner Erfahrung nach ist das meistens nicht der Fall. Hibernate macht es einfach, eine Persistenzschicht zu implementieren, ohne zu verstehen, wie Hibernate mit der Datenbank interagiert. Das macht es einfach, eine ineffiziente Anwendung zu erstellen. Auch wenn der Datenbankzugriff der Engpass zu sein scheint, könnten die meisten Performance-Probleme mit besserer Kenntnis von Hibernate oder der verwendeten Datenbank vermieden werden.

Hibernate bietet viele Optimierungen, die die Anzahl der erforderlichen Abfragen reduzieren und dadurch die Leistung Ihrer Anwendung verbessern. Gute Beispiele dafür sind:

  • Die Write-Behind-Optimierung, die mehrere Aktualisierungsvorgänge zu einem gruppiert.
  • Der SequenceGenerator, der standardmäßig den Hi-Lo-Algorithmus verwendet, um eine zusätzliche SQL-Anweisung zu vermeiden, um den Primärschlüsselwert für jeden neuen Datensatz zu erhalten.
  • Der First-Level-, Second-Level- und Abfrage-Cache, der viele Informationen im lokalen Speicher speichern kann, um unnötige Datenbankabfragen zu vermeiden.

Sie haben Anfang dieser Woche Ihr erstes Buch mit dem Titel „Tips für den Winterschlaf“ veröffentlicht. Warum haben Sie sich entschieden, es zu schreiben, und welches Problem löst es?

Ich habe Hibernate Tips - Mehr als 70 Lösungen für häufige Hibernate-Probleme als Kochbuch geschrieben, um meinen Lesern zu helfen, Hibernate in ihrer täglichen Arbeit zu verwenden. Es verwendet einen FAQ- oder Problemlösungsansatz, um zu zeigen, wie verschiedene Aufgaben mit Hibernate umgesetzt werden können. Hier können Sie sich einige Beispielkapitel ansehen.

Alles begann 2016 mit einer Idee für eine Reihe von Blogbeiträgen. Ich habe ähnliche Fragen von Kollegen und Blog-Lesern bekommen. Sie wussten, welche allgemeinen Konzepte sie anwenden mussten, um ihre aktuelle Aufgabe umzusetzen, aber nicht, welche Hibernate-Annotationen und APIs sie verwenden mussten. Oder sie fragten sich, wie sie eine gemeinsame Aufgabe am besten umsetzen könnten. Und wie wahrscheinlich jeder Entwickler kannte ich diese Situationen nur zu gut.

Um diese Fragen zu beantworten, habe ich begonnen, eine Reihe von Blogbeiträgen zu schreiben. Jeder Beitrag beantwortete eine bestimmte Frage mit einer kurzen Erklärung und ein paar Codeschnipseln. Ich habe schnell gemerkt, dass dieses Format vielen Lesern gefällt und auch gut zu einem Buch passen würde.

Also habe ich angefangen, das Buch zu skizzieren und im Januar 2017 angekündigt. Innerhalb der folgenden 3 Monate habe ich mehr als 35 Tipps exklusiv für das Buch geschrieben und die bestehenden Beiträge bearbeitet. Das Buch bietet Ihnen jetzt mehr als 70 gebrauchsfertige Rezepte für Themen wie grundlegende und erweiterte Mappings, Protokollierung, Java 8-Unterstützung, Caching sowie statisch und dynamisch definierte Abfragen.

Wie Sie sehen können, deckt es ein breites Themenspektrum ab, sodass es für Entwickler aller Erfahrungsstufen gut geeignet ist, solange sie mit allgemeinen Hibernate- und JPA-Konzepten vertraut sind. Für nur wenige Tage können Sie es auf hibernate-tips.com zu einem speziellen Einführungspreis von nur 2,99 $ (E-Book) oder 12,99 $ (Taschenbuch) erwerben.

Mir ist aufgefallen, dass viele Leute nach alternativen Wegen zur Implementierung ihrer Repositories suchen. Was ich meine ist, dass die Leute ORMs durch einfaches altes JDBC zu ersetzen scheinen. Haben Sie irgendwelche Gedanken dazu?

Sie sind wahrscheinlich nicht überrascht, wenn ich Ihnen sage, dass Sie kein einfaches JDBC verwenden sollten. Diese API ist schwierig zu verwenden und hat viele Fallstricke, die Sie leicht vermeiden können, indem Sie eines der übergeordneten Frameworks verwenden.

Das bedeutet aber auch nicht, dass ich die Verwendung von Hibernate für alle Ihre Projekte empfehle. Es ist ein guter Rahmen für viele Projekte, insbesondere wenn Sie viele Erstellungs-, Aktualisierungs- oder Löschvorgänge implementieren müssen. Wenn das nicht der Fall ist, gibt es mehrere andere Bibliotheken wie jOOQ oder QueryDSL, die komplexe Abfragen besser unterstützen. Wenn Sie sich nicht sicher sind, ob Hibernate für Ihre Projekte geeignet ist, sollten Sie sich diesen Beitrag und Fragebogen ansehen, in dem ich Sie bei der Entscheidung begleite.

Und wenn Sie entscheiden, dass Hibernate gut zu Ihrem Projekt passt, sollten Sie einen Blick in mein neues Buch Hibernate Tips - More than 70 solutions to common Hibernate problems werfen. Es bietet Ihnen mehr als 70 gebrauchsfertige Rezepte, mit denen Sie Ihre Persistenzschicht problemlos implementieren können. Für nur wenige Tage können Sie es auf hibernate-tips.com zu einem speziellen Einführungspreis von nur 2,99 $ (E-Book) oder 12,99 $ (Taschenbuch) erwerben.


No
Java-Tag