Hibernate 3.2 zgodne z JPA

Pojawiła się kolejna, finalna wersja jednego z najpopularniejszych rozwiązań do mapowania obiektowo-relacyjnego (ORM) Hibernate. Wersja 3.2 jest certyfikowana jako w pełni zgodna ze specyfikacją JPA (Java Persistence API). W nowej wersji znalazły się oprócz tego nowe możliwości tworzenia zapytań, czy filtry danych.

ORM to technika odwzorowania obiektowego modelu na relacyjną bazę danych za pomocą schematów mapowań. Hibernate pozwala tworzyć bazodanowe aplikacje bez specjalnej wiedzy o struktury baz danych, a jedynie operując na zwykłych obiektach Javy (ang. POJO = Plain Old Java Object). Samo wygeneruje za nas te zapytania SQL i, co najważniejsze, jest niezależne od wykorzystywanej bazy danych dzięki użyciu tzw. 'dialektów'. Program sam zadba także o przekształcenie klas Javy w tabele bazy danych oraz konwersję typów pomiędzy Javą, a typami bazy. Posiada także własny język zapytań, będący obiektowym rozszerzeniem standardowego SQL.

W tym samym czasie ukazały się finalne wersje trzech różnych projektów. Głównym jest oczywiście Hibernate Core, czyli serce całego systemu. O najważniejszych zmianach w wersji 3.2 można przeczytać więcej na witrynie projektu. Oprócz tego statusu wersji finalnej doczekały się także:

- Hibernate Annotations

Tak, jak inne rozwiązania ORM, Hibernate wymagało zewnętrznych plików z definicjami mapowań, które opisują transformacje jednych postaci danych w inne. Do tej pory dane te były zapisywane w plikach XML. Hibernate Annotations umożliwia pozbycie się powiązań z zewnętrznymi definicjami i opisywanie mapowań przy użyciu nowego mechanizmu adnotacji, który jest dostępny w Javie 5.0. Hibernate Annotations zawierają nie tylko standardowe adnotacje JPA, ale także własne rozszerzenia, jak choćby walidatory.

- Hibernate EntityManager

Hibernate EntityManager implementuje Java Persistence API, cykl życia obiektów i język zapytać EJB QL zdefiniowany w specyfikacji JSR 220: Enterprise JavaBeansTM 3.0. W połączeniu z opisanymi wyżej adnotacjami tworzy on w pełni funkcjonalną usługę JPA oparta na Hibernate. Warto dodać, że jest on domyślnym dostawcą JPA w serwerze aplikacji JBoss.

Strona projektu Hibernate.


Zobacz również