Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

JPA Criteria API — typově bezpečné dotazy

20. 08. 2013 Aktualizováno: 24. 03. 2026 1 min čtení CORE SYSTEMSai
Tento článek byl publikován v roce 2013. Některé informace mohou být zastaralé.
JPA Criteria API — typově bezpečné dotazy

JPQL dotazy jsou stringy — preklep v názvů entity zjistíte az za behu. Criteria API nabízí typove bezpecne dotazy, které compiler kontroluje pri kompilaci. Upoviddanejsi, ale bezpecnejsi.

Zaklady

CriteriaBuilder pro vytváření dotazu. CriteriaQuery pro definici SELECT. Root pro FROM. Predicate pro WHERE podmínky. TypedQuery pro vykonání.

Metamodel

JPA Metamodel generuje staticke třídy (Order_, Customer_) s atributy jako typed fieldy. Misto stringu “orderDate” použijete Order_.orderDate. Refaktoring entity automaticky odhalí broken dotazy.

Dynamické dotazy

Hlavní sila Criteria API: dynamické skládání dotazu za behu. Vyhledávací formulář s 10 volitelnymi filtry — v JPQL byste skladali string. V Criteria API přidáváte Predicate podmínky programaticky.

JPQL vs. Criteria API

JPQL: čitelnější pro jednoduché dotazy. Criteria API: bezpecnejsi pro slozite a dynamické dotazy. Naše pravidlo: JPQL pro staticke dotazy (@NamedQuery), Criteria API pro dynamické vyhledávání.

Doporuceni

Používejte Metamodel — bez něj je Criteria API jen upovadanejsi JPQL bez výhod. Generujte metamodel classy pres Maven plugin. Pro staticke dotazy zustadte u JPQL.

jpacriteria apihibernatejava
Sdílet:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Potřebujete pomoc s implementací?

Naši experti vám pomohou s návrhem, implementací i provozem. Od architektury po produkci.

Kontaktujte nás
Potřebujete pomoc s implementací? Domluvit schůzku