ZAWWW-2st1.2-w05.tresc-1.0--Slajd15

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zapytania w Hibernate

Zapytania w Hibernate


Podstawowym sposobem odczytu danych z bazy danych w Hibernate są zapytania formułowane w języku HQL (Hibernate Query Language). Język ten pod względem składni bardzo przypomina SQL. Podstawowa struktura zapytania to SELECT-FROM-WHERE-GROUP BY-HAVING-ORDER BY, z tym że klauzula SELECT jest opcjonalna, gdy mają być odczytane całe obiekty. HQL w odróżnieniu od SQL jest zorientowany obiektowo i operuje na klasach języka Java, a nie tabelach relacyjnej bazy danych. HQL obsługuje dziedziczenie, polimorfizm i asocjacje między klasami.

Na slajdzie pokazano przykład realizacji prostego zapytania w HQL. Zapytanie odczytuje wszystkie departamenty o nazwie „SALES”. W składni zapytania pominięta została klauzula SELECT, gdyż zwrócone mają być całe obiekty klasy Dept. Obiekt zapytania jest tworzony metodą createQuery() obiektu Session. Wyniki zapytania zostały zwrócone jako kolekcja typu List metodą list() obiektu Query.

Inne możliwości realizacji zapytań do bazy danych w Hibernate to:

  • Zapytania w natywnym SQL, dające możliwość wykorzystania specyficznych dla danego systemu konstrukcji składniowych np. CONNECT w Oracle.
  • Zapytania poprzez obiekty Criteria, umożliwiające budowę zapytań poprzez obiektowe API.
  • Zapytania poprzez obiekty Example, umożliwiające wyszukiwanie danych w oparciu o przykładową instancję (mechanizm QBE – Query By Example).


<< Poprzedni slajd | Spis treści | Następny slajd >>