Zum Inhalt springen
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

JPA Criteria API — typove bezpecne dotazy

20. 08. 2013 1 Min. Lesezeit CORE SYSTEMSai
JPA Criteria API — typove bezpecne dotazy

JPQL dotazy jsou stringy — preklep v nazvu entity zjistite az za behu. Criteria API nabizi typove bezpecne dotazy, ktere compiler kontroluje pri kompilaci. Upoviddanejsi, ale bezpecnejsi.

Zaklady

CriteriaBuilder pro vytvareni dotazu. CriteriaQuery pro definici SELECT. Root pro FROM. Predicate pro WHERE podminky. TypedQuery pro vykonani.

Metamodel

JPA Metamodel generuje staticke tridy (Order_, Customer_) s atributy jako typed fieldy. Misto stringu “orderDate” pouzijete Order_.orderDate. Refaktoring entity automaticky odhali broken dotazy.

Dynamicke dotazy

Hlavni sila Criteria API: dynamicke skladani dotazu za behu. Vyhledavaci formular s 10 volitelnymi filtry — v JPQL byste skladali string. V Criteria API pridavate Predicate podminky programaticky.

JPQL vs. Criteria API

JPQL: citelnejsi pro jednoduche dotazy. Criteria API: bezpecnejsi pro slozite a dynamicke dotazy. Nase pravidlo: JPQL pro staticke dotazy (@NamedQuery), Criteria API pro dynamicke vyhledavani.

Doporuceni

Pouzivejte Metamodel — bez nej je Criteria API jen upovadanejsi JPQL bez vyhod. Generujte metamodel classy pres Maven plugin. Pro staticke dotazy zustadte u JPQL.

jpacriteria apihibernatejava
Teilen:

CORE SYSTEMS

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

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns