Hibernate to po Springu drugi najpopularniejszy framework w świeci Javy. Jest to także najpopularniejszy ORM (Object Relation Mapping). Służy on do mapowania relacji bazodanowych (powiązań pomiędzy tabelami) na obiekty Javowe (Encje).
Lista ostatnich artykułów, dotyczących Hibernate’a:
Trzy rzeczy, które powinieneś wiedzieć o Hibernate
Hibernate i problem N + 1 zapytań
FetchMode w Hibernate, czyli jak pobierać dane
Hibernate – najczęściej popełniane błędy
Czy automatyczne tworzenie bazy przez Hibernate jest dobre?
Hibernate Lista vs Set – czego używać?
Hibernate udostępnia zbiór adnotacji, dzięki czemu cały model bazodanowy możemy zadeklarować korzystając wyłącznie z tych adnotacji i klas encji. Natomiast w starszych wersjach korzystano z xmla do definiowania relacji pomiędzy tabelami, co nie było aż tak wygodne.
Hibernate i JPA
Z Hibernate’a można korzystać na wiele sposobów. Jednym z nich jest używanie go jako dostawcy implementacji JPA (Java Persistence API). JPA to standard, który wchodzi w skład standardów Java EE (Java Enterprise Edition). Pozwala on pisać zapytania w abstrakcyjny sposób, korzystając z języka JPQL (Java Persistence query language). JPQL jest językiem składniowo bardzo podobnych do SQL, ale w JPQL nie operuje się na tabelach tylko na obiektach (Encjach). Poza tym JPQL ma lekko zmienioną składnię w stosunku do sqla.
Criteria Api
Kolejny sposób korzystanie z Hibernate’a to korzystanie z jego własnego api czyli Criteria Api. Pozwala ono wykonywać podstawowe operacje na bazie danych w sposób imperatywny.
Query Dsl
Kolejny sposób korzystania z Hibernate’a to Query DSL. dodajemy do zależności w naszym projekcie JPAAnnotationProcessor, który wygeneruje nam typy dla zapytań(dla wszystkich encji, które mamy w projekcie). I możemy korzystać z wygodnego DSLa.
Hibernate pozwala zdefiniować wszystkie rodzaje relacji jakie możemy użyć w bazie danych. Many-to-many, one-to-many, one-to-one itd. Hibernate pozwala także, wygenerować strukturę bazy danych. Opcja ta może być przydatna w developmencie aplikacji. Do sterowania tą opcją służy properties hibernate.ddl-auto
.
Zapraszam także na stronę Spring Framework, gdzie znajdziesz zestawienie najważniejszych artykułów dotyczących tego frameworka.
A jeśli dopiero zaczynasz swoją przygodę z programowaniem, to zachęcam cię do zapoznania się z Kursem Java dla początkujących programistów.