Hibernate framework stanowiący jedną z najpopularniejszych implementacji Java Persistence API (JPA). Umożliwia on dokonania mapowania obiektowo-relacyjnego (ORM) – czyli odwzorowania obiektów klas na bazę danych. Najprościej mówiąc odpowiada za wygodna komunikację aplikacji z bazą danych.
Korzyści
- Programista nie musi tworzyć struktury bazy danych dla swojej aplikacji. Może cedować to zadanie na framwork;
- programista, nie musi wykonywać ręcznych zapytań do bazy danych;
- znacznie przyspiesza proces tworzenia aplikacji;
- czysty, schludny kod.
Wady
- ponieważ stanowi on dodatkową warstwę bazującą na JDBC to korzystanie z niego generuje opóźnienie w czasie dostępu.
- generowanie nadmiarowych zapytań – np. znany problem „hibernate n+1”.
Korzystać czy nie?
- Obecnie większość firm wybiera stosowanie tego frameworka, ponieważ decydującym czynnikiem jest skrócenie czasu tworzenia rozwiązań informatycznych. Dodatkowo całe rozwiązanie programistyczne jest bardziej znacznie czytelne niż korzystanie z JDBC (które wymaga wielu klas szablonowych).
- Obecnie stosowana techniką jest korzystanie z Hibernate w miejscach gdzie tylko to jest możliwe, natomiast w przypadku gdzie ważny jest czas dostępu korzystać z JDBC.
- Dobrą praktyką jest staranie się by korzystać tylko z jednego rozwiązania albo ORM albo JDBC. Aplikacje tworzone w ten sposób są znacznie łatwiejsze w utrzymaniu.
Jak zacząć naukę Hibernate?
Aby dobrze rozpocząć pracę to na wstępie wymagana jest umiejętność swobodnego programowania obiektowego z wykorzystaniem Java 8+ oraz znajomość składni SQL.
Kiedy masz już te podstawy opanowane, to z łatwością możesz przystąpić do kursu.
Kurs Hibernate
Utworzymy pierwszą aplikacje wykorzystującą Hibernate! Cały kurs opisujący mechanikę i działanie frameworka Hibernate od podstaw znajdziesz tu.
Dalsze możliwości
Wiele frameworków dla Java w tym Spring domyślnie korzysta z Hibernate i stanowi dla niego podstawowy sposób do komunikacji z bazami danych.
Praktycznie w każdej ofercie na rynku pracy dla Java Developera znajomość ORM jest kluczową kompetencją, dlatego warto ją skutecznie przyswoić.
Na moim kanale YouTube znajdziesz też dużo materiałów wideo, w których prezentuje możliwości jakie dostarcza ten framework.