ZAWWW-2st1.2-w05.tresc-1.0--Slajd36
Java Persistence Query Language (JPQL)
Java Persistence Query Language (JPQL) umożliwia formułowanie przenaszalnych zapytań, niezależnych od specyfiki poszczególnych systemów zarządzania bazą danych i różnych dialektów języka SQL.
Zapytania w JPQL operują na abstrakcyjnym schemacie obejmującym encje i związki między nimi. Przed wykonaniem treść zapytania jest tłumaczona na odpowiedni dla wykorzystywanego systemu zarządzania bazą danych dialekt SQL i formułowana w kontekście tabel w bazie danych.
Składnia JPQL jest bardzo podobna do składni SQL. Ogólna składnia zapytań obejmuje znane z SQL klauzule SELECT-FROM-WHERE-GROUP BY-HAVING-ORDER BY. JPQL zawiera również polecenia UPDATE i DELETE dla masowych operacji modyfikacji i usuwania o ogólnej składni UPDATE-SET-WHERE i DELETE-FROM-WHERE.
Podstawową różnicą między JPQL a SQL jest obecność w języku JPQL konstrukcji do odczytu powiązanych kolekcji instancji encji i wyrażeń ścieżkowych do nawigacji po powiązanych instancjach encji.