Zurück zur Skill-Übersicht

Skill-Wissen und Projektmarkt

Hibernate

Freelancer, Projekte, Experten und Wissen rund um Hibernate.

Kategorie

Backend

Einordnung

Hibernate Freelancer, Projekte, Experten und Wissen auf jobtic.com

Hibernate gehört zu den gefragtesten Kompetenzen im modernen IT-Projektmarkt. Unternehmen, Recruiter, Projektanbieter und Agenturen suchen kontinuierlich nach qualifizierten IT-Freelancern, Beratern, Entwicklern, Consultants, Administrators, Engineers und Spezialisten mit Erfahrung in Hibernate.

Auf jobtic.com finden Unternehmen und Freelancer eine moderne Plattform für IT-Projekte, Projektvermittlung, Freelancer-Profile, Experten-Suche, Projektakquise und berufliche Vernetzung rund um Hibernate und viele weitere Technologien, Tools, Systeme, Methoden und IT-Bereiche.

Wikipedia

Hibernate (Framework)

Artikel öffnen

Hibernate (englisch für Winterschlaf halten) ist ein Open-Source-Persistenz- und ORM-Framework für Java. Für das .Net-Framework ist eine portierte Version namens NHibernate verfügbar.

Hibernates Hauptaufgabe ist die objektrelationale Abbildung (englisch O-R-Mapping, kurz ORM). Dies ermöglicht es, gewöhnliche Objekte mit Attributen und Methoden (im Java-Umfeld Plain Old Java Objects oder POJOs genannt) in relationalen Datenbanken zu speichern und aus entsprechenden Datensätzen wiederum Objekte zu erzeugen. Beziehungen zwischen Objekten werden auf entsprechende Datenbank-Relationen abgebildet.

Darüber hinaus bietet Hibernate Mechanismen zur Kompatibilität mit verschiedenen Datenbanken. Die zum Datenbankzugriff erforderlichen SQL-Anweisungen werden nicht explizit in SQL programmiert, sondern von Hibernate in Abhängigkeit vom SQL-Dialekt der verwendeten Datenbank generiert.

Hibernate kann unter anderem in Java-Applikationen und Servlet-Engines benutzt oder in einem Applikationsserver integriert werden.

Funktionalität

Die Abfrage der persistierten Objekte erfolgt wahlweise über die SQL-ähnliche Abfragesprache Hibernate Query Language (HQL), mittels SQL-Statements oder objektorientiert mittels der Hibernate Criteria-API. Die Abfragen werden je nach verwendeter Datenbank mittels JDBC in den entsprechenden SQL-Dialekt übersetzt. Hibernate bietet für alle aktuellen relationalen Datenbanksysteme entsprechende Einstellungen. Neue SQL-Dialekte können vom Benutzer selbst hinzugefügt werden.[3]

Objektrelationale Abbildung

Hibernate ermöglicht eine transparente Persistenz von Plain Old Java Objects (POJOs). Einzig ein parameterloser Konstruktor muss gegeben sein. Da Hibernate mittels Reflexion auf die Attribute der Klassen zugreift, sind keine öffentlichen Zugriffsfunktionen notwendig.

Das Abbilden von Java-Klassen auf Datenbanktabellen wird mittels einer XML-Datei (Mapping File) oder mit Java-Annotation bewerkstelligt. Bei der Verwendung von XML-Dateien können mittels der Hibernate-Werkzeuge sowohl die passenden Java-Klassen als auch die Datenbanktabellen generiert werden, bei der Verwendung von Annotationen ist nur letzteres möglich.

Hibernate unterstützt Objektreferenzen (1:1-Relationen) und (typisierte) Java Collections (1:N- und N:M-Relationen), sowie auch reflexive Beziehungen auf die eigene Klasse. Beim Laden von Objekten können in Beziehung stehende Objekte wahlweise sofort mitgeladen werden (eager loading) oder erst dann, wenn sie wirklich benötigt werden (lazy loading). Lazy Loading ist die Standard-Option für alle 1:N- und N:M-Beziehungen, funktioniert aber nur innerhalb derselben Transaktion bzw. Session. Hibernate kann auch so konfiguriert werden, dass Operationen wie Speichern oder Löschen auch über Relationen kaskadieren und somit die referenzielle Integrität gewahrt bleibt.

Hibernate unterstützt alle drei Arten der objektrelationalen Abbildung von Vererbungsbeziehungen (Tabelle pro Vererbungshierarchie, Tabelle pro Unterklasse und Tabelle pro konkrete Klasse), darüber hinaus auch impliziten Polymorphismus als Spezialform von Tabelle pro konkrete Klasse.[4]

Ebenso ermöglicht Hibernate eine wahlfreie Abbildung von Java-Typen auf die von der Datenbank unterstützten SQL-Typen. Damit wird z. B. ermöglicht, Java-Enums analog zu normalen Integer-Properties abzubilden, oder einzelne Properties auf mehrere Tabellenspalten zu verteilen.

„SessionFactory“, „Session“ und „Transaction“

SessionFactory lädt die Konfiguration und die Abbildungen und wird normalerweise nur einmal pro Anwendung erzeugt. Session ist das Bindeglied zwischen der Java-Applikation und den Hibernate-Diensten und bietet Methoden für Insert-, Update-, Delete- und Query-Operationen. Transaction bildet JDBC- und JTA-Transaktionen ab. Geschachtelte Transaktionen werden nicht unterstützt.

Weitere Funktionalitäten

Neben der Kernfunktionalität umfasst Hibernate noch folgende Unterprojekte:

Hibernate Annotations
OR-Mapping mittels Annotations
Hibernate EntityManager
Umsetzung der Schnittstelle Jakarta Persistence API
Hibernate Shards
Zugriff auf horizontal partitionierte Datenbanktabellen
Hibernate Validator
Definition von Daten-Integritäts- und Validierungsregeln in JavaBean-Klassen mittels Annotations
Hibernate Search
Transparente Erstellung eines Volltextindexes und Volltextsuche mit Lucene
Hibernate Tools
Entwicklungstools für Eclipse und Ant

NHibernate

NHibernate ist das Gegenstück zu Hibernate für das .NET Framework[5], ab Version 5.1 wird auch .NET Core unterstützt. Aktuell (Stand: Juni 2023) ist die Version 5.4.3.[6]

NHibernate ist mehr als eine reine C#-Portierung, vielmehr nutzt sie die zusätzlichen Möglichkeiten von C# wie z. B. Properties. Die Verwendung bietet sich an als Alternative zum Entity Framework.

Unterprojekte

Zu NHibernate gibt es ebenfalls eine Reihe von Unterprojekten. So kann mit Fluent NHibernate die Erstellung der xml-Dateien für das Mapping vermieden werden. Das Automapping erlaubt es, auf eine erneute Aufzählung einzelner Attribute zu verzichten. Für die Konfiguration macht Fluent NHibernate intensiven Gebrauch von Lambda-Ausdrücken[7].

Geschichte und Verbreitung von Hibernate

Hibernate wurde 2001 von einem Team aus Java-Entwicklern unter Gavin King entwickelt. Das Unternehmen JBoss, Inc., Hersteller des freien Java-Anwendungsservers WildFly, stellte später einige der wichtigsten Hibernate-Entwickler ein, um die Integration von Hibernate in den Application Server voranzutreiben.

Die Version 3.x brachte Funktionalitäten wie Session-basierte Filter, JDK-5.0-Annotations und -Generics, DB-Schema-Validierung (V 3.1), JPA 1.0 (V 3.2) und 2.0 (V 3.5), Fetch Profile (V 3.5), eine Reorganisation der Hibernate Module (V 3.5) sowie Maven-Unterstützung (V 3.3).[8]

Hibernate 4.x brachte insbesondere diverse Verbesserungen im Logging und Integrator sowie Refactorings, welche die Arbeit mit Hibernate erleichtern. Darüber hinaus brachte Hibernate 4.0 Mandantenfähigkeit mit ein oder mehreren Datenbankinstanzen oder Datenbankschemas.[9][10] Ab Version 4.3 implementiert Hibernate die JPA 2.1-Spezifikation.[11]

Die aktuelle Version 5.x von Hibernate definiert das Metamodell neu und baut die Mandantenfähigkeit weiter aus.[12]

Ab Version 6.x wurde der javax-Namespace durch jakarta ausgetauscht. Hierbei handelt es sich nur um eine Änderung des Namens ohne funktionale Änderungen. Außerdem kann ab dieser Version per Position aus einem ResultSet gelesen werden, zusätzlich zum Zugriff über den Namen.[13]

Hibernate wird laut Homepage von zehntausenden Java-Projekten weltweit verwendet. Etwa 25.000 Entwickler sind bei den Hibernate-Foren angemeldet. Hibernate wird im Schnitt ca. 3.000-mal täglich heruntergeladen.[14]

Siehe auch

Literatur

  • Christian Bauer, Gavin King: Java-Persistence mit Hibernate, Hanser Verlag, 2007, ISBN 978-3-446-40941-5
  • Richard Oates, Thomas Langer, Stefan Wille, Torsten Lueckow, Gerald Bachlmayr: Spring & Hibernate. Eine praxisbezogene Einführung, Hanser Verlag, 2006, ISBN 978-3-446-40457-1
  • Sebastian Hennebrüder: Hibernate, Das Praxisbuch für Entwickler, Galileo Press, 2007, ISBN 978-3-89842-635-0
  • Dave Minter, Jeff Linwood, Reinhard Engel: Einführung in Hibernate, Mitp-Verlag, 2007, ISBN 978-3826617942
  • Bernd Müller, Harald Wehr: Java-Persistence-API mit Hibernate, Addison-Wesley, 2007, ISBN 978-3827325372
  • Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz: Hibernate: Persistenz in Java-Systemen mit Hibernate 3.2 und dem Java Persistence API, Dpunkt Verlag, 2007, ISBN 978-3898644471
  • Markus Kehle, Hien Robert: Hibernate und die Java Persistence API, Entwickler.Press, 2006, ISBN 978-3935042963

Weblinks

Einzelnachweise

  1. Release 7.4.2. 21. Juni 2026 (abgerufen am 21. Juni 2026).
  2. in.relation.to.
  3. Unterstützte Datenbanken (Memento des Originals vom 1. Juli 2016 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/developer.jboss.org
  4. Gavin King, Christian Bauer, Max Rydahl Andersen, Emmanuel Bernard, Steve Ebersole: Inheritance mapping. In: Hibernate Community Documentation. Red Hat, 14. April 2010, archiviert vom Original am 12. Februar 2010; abgerufen am 19. Mai 2010 (englisch): „Hibernate supports the three basic inheritance mapping strategies: table per class hierarchy, table per subclass, table per concrete class. In addition, Hibernate supports a fourth, slightly different kind of polymorphism: implicit polymorphism“
  5. nhibernate.info
  6. Releases of nhibernate-core. Abgerufen am 27. Juli 2023 (englisch).
  7. www.fluentnhibernate.org
  8. Hibernate Road Map (Memento des Originals vom 5. Mai 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/community.jboss.org
  9. Multi-tenancy in Hibernate
  10. Hibernate Core 4.0 is Final
  11. Hibernate ORM 4.3.0.Final Release
  12. Hibernate Roadmap (Memento des Originals vom 31. Mai 2012 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/community.jboss.org
  13. Steve Ebersole: Hibernate 6.0 Final. 31. März 2022, abgerufen am 15. Dezember 2022 (englisch).
  14. Product Evaluation FAQ (Memento des Originals vom 27. April 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.hibernate.org
Normdaten (Sachbegriff): GND: 4785089-9 (GND Explorer, lobid, OGND)
Wikipedia

Dieser Text basiert auf dem Artikel Hibernate (Framework) aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported. Eine Liste der Autoren ist in der Wikipedia verfügbar.

Hibernate auf jobtic.com

Backend

Experten finden

jobtic.com verbindet IT-Freiberufler, Selbstständige, Consultants, Projektanbieter, IT-Dienstleister und Unternehmen in einer zentralen IT-Projektbörse für den deutschsprachigen Markt. Die Plattform unterstützt die Suche nach Hibernate Freelancern, Hibernate Projekten, Contracting-Einsätzen, Remote-Projekten, IT-Jobs, Interim-Rollen, technischen Experten und spezialisierten Beratern.

Chancen entdecken

Freelancer profitieren von einer professionellen Präsentation ihrer Expertise im Bereich Hibernate und erhalten Zugriff auf aktuelle Projektangebote, Projektanfragen und neue Karrierechancen im IT-Freelancer-Markt. Durch moderne Such- und Filterfunktionen lassen sich passende Projekte, Auftraggeber, Recruiter und Kontakte schnell identifizieren.

Wissen einordnen

Neben der Projekt- und Expertenplattform bietet jobtic.com umfangreiche Informationen, Hintergründe und Wiki-Inhalte rund um Hibernate. Dazu gehören Grundlagen, Definitionen, Einsatzbereiche, Entwicklungen, Versionen, Methoden, technische Zusammenhänge, Best Practices und aktuelle Marktinformationen zu Hibernate.

Vernetzung stärken

Unsere jobtic-Übersicht zu Hibernate kombiniert Wissensdatenbank, Projektbörse, Freelancer-Verzeichnis, Experten-Suche und Projektmarkt in einer zentralen Plattform. Besucher finden hier sowohl Informationen zu Hibernate als auch passende Freelancer, Berater, Entwickler, Consultants, Administratoren, Support-Spezialisten und aktuelle IT-Projekte mit Bezug zu Hibernate.

Kontakte aufbauen

jobtic.com unterstützt Freelancer und Unternehmen dabei, schneller passende Projekte, Experten und Geschäftskontakte im Bereich Hibernate zu finden. Egal ob Projektakquise, Expertenvermittlung, Freelancer-Suche, Contracting, IT-Consulting oder spezialisierte Projektbesetzung - jobtic.com bietet die passende Plattform für den modernen IT-Projektmarkt.

Zentral vernetzen

Wer nach Hibernate Freelancern, Hibernate Experten, Hibernate Projekten, Hibernate Beratern, Hibernate Consulting, Hibernate Contracting, Hibernate Projektbörse, Hibernate Freelancer-Profilen oder aktuellen Entwicklungen rund um Hibernate sucht, findet auf jobtic.com eine zentrale Anlaufstelle für Wissen, Projekte und professionelle Vernetzung im IT-Umfeld.

Passende Projekte zu Hibernate

Mehr Projekte

Projekte veröffentlichen

Unternehmen können Projekte mit Anforderungen, Laufzeiten, Technologien, Einsatzorten, Remote-Anteilen, Budgetrahmen und Projektbeschreibungen veröffentlichen. Gleichzeitig ermöglicht jobtic.com die gezielte Suche nach verfügbaren Hibernate Spezialisten mit passenden Erfahrungen, Branchenkenntnissen und technischen Fähigkeiten.