Java >> Java tutorial >  >> Tag >> native

Kaffe med Thorben 2020-02-12 – JPQL vs Criteria vs Native Queries


Følg mig på YouTube for ikke at gå glip af nye videoer.

Deltag i chatten på YouTube.

JPQL vs. Kriterier vs. Native Queries

Med JPQL og native SQL-forespørgsler understøtter Hibernate 2 forespørgselssprog, som du kan bruge til at søge efter data i din database. Ud over det er der også JPA's Criteria API, der erstattede Hibernates proprietære Criteria API.

Det kan virke som om der er 3 forskellige måder at gøre det samme på. Men det er ikke tilfældet. Hver type forespørgsel har specifikke styrker, begrænsninger og svagheder, hvilket gør den velegnet til nogle, men ikke alle brugssager.

I dagens strøm vil vi diskutere de forskellige typer forespørgsler, du kan bruge med Hibernate, og hvornår du bør foretrække dem.

Hvis du vil dykke dybere ned i de forskellige typer forespørgsler, der understøttes af Hibernate, bør du læse følgende artikler:

  • JPQL – Sådan defineres forespørgsler i JPA og Hibernate
  • Native Queries – Sådan kalder du native SQL-forespørgsler med JPA &Hibernate
  • Hibernates forespørgsels-API'er

Live online workshops

Hvis du nød livestreamen, vil du elske mine live online workshops. Få mere at vide på thorben-janssen.com/workshops.

Ugens spørgsmål

Når du bruger JPQL's stioperator ".", kan du navigere i en til-en-tilknytning uden at angive et JOIN-udtryk i din FROM-sætning. Men det betyder ikke, at Hibernate ikke behøver at generere et sådant udtryk, når det genererer SQL-sætningen. Dette forårsager ofte uventede resultater:

JPA-forespørgsel til at samle null-feltet

Denne uges selvstudier

Blog

Kender du Hibernates forespørgselsrum? De bruges til at bestemme, hvornår enheder skal tømmes, og hvilke dele af cachen, der skal ugyldiggøres, når der udføres en masseopdatering. Det meste af tiden administrerer Hibernate sine forespørgselsrum automatisk, men der er nogle situationer, hvor det har brug for hjælp.

Jeg forklarede alt det meget detaljeret i denne uges indlæg:Hibernate Query Spaces – Optimizing Flush and Cache Operations.

YouTube

En af de store styrker ved Spring-økosystemet og især Spring Boot er integrationen af ​​populære biblioteker. Integreringerne af Flyway og Liquibase er gode eksempler på det. Begge biblioteker er industristandarden for versionsbaserede databasemigreringer, og Spring Boot gør brugen af ​​dem utrolig enkel.

Jeg viser dig, hvordan du integrerer disse 2 populære biblioteker i din applikation i denne uges video:


Følg mig på YouTube for ikke at gå glip af nye videoer.
Java tag