Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Werken met ORM: JPA en Hibernate | Werken Met Databases
Spring Boot Backend

bookWerken met ORM: JPA en Hibernate

Zoals je al weet, is Object-Relational Mapping (ORM) een technologie die ontwikkelaars in staat stelt om op objectniveau met een database te werken in plaats van via SQL-query's.

In essentie is ORM een concept waarmee een Java-object kan worden weergegeven als data in een database (en omgekeerd). Het wordt geïmplementeerd in de vorm van de Java Persistence API (JPA) specificatie.

JPA

Praktijkvoorbeeld

Stel je voor dat JPA vergelijkbaar is met een standaard voor stopcontacten in verschillende landen. Deze standaard bepaalt hoe een stopcontact eruit moet zien en aan welke specificaties het moet voldoen zodat apparaten erop kunnen worden aangesloten.

De standaard zelf produceert echter geen stopcontacten. Om ze daadwerkelijk te gebruiken, heb je fabrikanten nodig die deze standaard implementeren. Zij maken de daadwerkelijke stopcontacten die voldoen aan de standaard.

Belangrijkste componenten van de JPA

JPA-componenten zijn belangrijke elementen die samenwerken om functionaliteit te bieden voor interactie met een database.

We zullen deze componenten verkennen aan de hand van praktijkvoorbeelden om je te helpen ze beter te associëren voor toekomstig gebruik.

Entiteit

Laten we herinneren wat een entiteit is. Een entiteit is een klasse in je code die een tabel in de database voorstelt. Bijvoorbeeld, de User-klasse beschrijft welke gebruikersgerelateerde gegevens we opslaan.

Stel het je voor als een visitekaartje. Het kaartje bevat de naam, functie en contactgegevens van een persoon. In JPA beschrijft een entiteitsklasse alle belangrijke kenmerken van een object, net zoals een visitekaartje een persoon beschrijft.

EntityManager

In JPA voert de EntityManager bewerkingen uit zoals toevoegen, bijwerken of verwijderen van records, en beheert al deze acties.

EntityManager is verantwoordelijk voor het beheer van de levenscyclus van entiteiten (objecten) en hun interactie met de database.

Belangrijkste methoden

Zo gebruikt u EntityManager in Spring Boot

Persistentiecontext

Levenscyclus van entiteiten

  • Transient: De entiteit is zojuist aangemaakt, maar is nog niet opgeslagen in de database;
  • Managed: De entiteit is opgeslagen in de database en wordt beheerd door de EntityManager. Alle wijzigingen worden automatisch gevolgd;
  • Detached: De entiteit werd eerder beheerd, maar de persistentiecontext is gesloten of de EntityManager is geleegd. Wijzigingen in deze status worden niet automatisch gevolgd;
  • Removed: De entiteit is gemarkeerd voor verwijdering uit de database.

Wanneer de EntityManager een entiteit aanmaakt of vindt, plaatst het deze entiteit in de persistentiecontext.

Alle wijzigingen die aan de beheerde entiteit worden aangebracht, worden automatisch bijgehouden en na het afronden van de transactie worden deze wijzigingen gesynchroniseerd met de database.

JPQL (Java Persistence Query Language)

In JPQL worden query's geschreven om gegevens in de database te vinden of te wijzigen met een objectgeoriënteerde benadering.

SELECT c from Category c WHERE c.title = 'query'

In JPQL werken we niet direct met de tabel- en kolomnamen. In plaats daarvan verwijzen we naar de Category klasse en het title veld, waardoor de query begrijpelijker wordt voor Java-ontwikkelaars. JPQL abstraheert de onderliggende databasestructuur, zodat je je kunt richten op het objectgeoriënteerde model.

Hibernate

Bijvoorbeeld, Hibernate kan automatisch database tabellen genereren en bijwerken op basis van je entiteiten (klassen).

Hibernate bevat cachingmechanismen waarmee vaak gebruikte gegevens in het geheugen kunnen worden opgeslagen, waardoor het aantal verzoeken aan de database wordt verminderd en de prestaties van de applicatie worden verbeterd.

1. Wat is JPA?

2. Welke interface in JPA wordt gebruikt voor het uitvoeren van bewerkingen op entiteiten?

question mark

Wat is JPA?

Select the correct answer

question mark

Welke interface in JPA wordt gebruikt voor het uitvoeren van bewerkingen op entiteiten?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

What are the main differences between JPA and Hibernate?

Can you explain more about how the EntityManager works?

How does JPQL differ from regular SQL?

Awesome!

Completion rate improved to 3.45

bookWerken met ORM: JPA en Hibernate

Veeg om het menu te tonen

Zoals je al weet, is Object-Relational Mapping (ORM) een technologie die ontwikkelaars in staat stelt om op objectniveau met een database te werken in plaats van via SQL-query's.

In essentie is ORM een concept waarmee een Java-object kan worden weergegeven als data in een database (en omgekeerd). Het wordt geïmplementeerd in de vorm van de Java Persistence API (JPA) specificatie.

JPA

Praktijkvoorbeeld

Stel je voor dat JPA vergelijkbaar is met een standaard voor stopcontacten in verschillende landen. Deze standaard bepaalt hoe een stopcontact eruit moet zien en aan welke specificaties het moet voldoen zodat apparaten erop kunnen worden aangesloten.

De standaard zelf produceert echter geen stopcontacten. Om ze daadwerkelijk te gebruiken, heb je fabrikanten nodig die deze standaard implementeren. Zij maken de daadwerkelijke stopcontacten die voldoen aan de standaard.

Belangrijkste componenten van de JPA

JPA-componenten zijn belangrijke elementen die samenwerken om functionaliteit te bieden voor interactie met een database.

We zullen deze componenten verkennen aan de hand van praktijkvoorbeelden om je te helpen ze beter te associëren voor toekomstig gebruik.

Entiteit

Laten we herinneren wat een entiteit is. Een entiteit is een klasse in je code die een tabel in de database voorstelt. Bijvoorbeeld, de User-klasse beschrijft welke gebruikersgerelateerde gegevens we opslaan.

Stel het je voor als een visitekaartje. Het kaartje bevat de naam, functie en contactgegevens van een persoon. In JPA beschrijft een entiteitsklasse alle belangrijke kenmerken van een object, net zoals een visitekaartje een persoon beschrijft.

EntityManager

In JPA voert de EntityManager bewerkingen uit zoals toevoegen, bijwerken of verwijderen van records, en beheert al deze acties.

EntityManager is verantwoordelijk voor het beheer van de levenscyclus van entiteiten (objecten) en hun interactie met de database.

Belangrijkste methoden

Zo gebruikt u EntityManager in Spring Boot

Persistentiecontext

Levenscyclus van entiteiten

  • Transient: De entiteit is zojuist aangemaakt, maar is nog niet opgeslagen in de database;
  • Managed: De entiteit is opgeslagen in de database en wordt beheerd door de EntityManager. Alle wijzigingen worden automatisch gevolgd;
  • Detached: De entiteit werd eerder beheerd, maar de persistentiecontext is gesloten of de EntityManager is geleegd. Wijzigingen in deze status worden niet automatisch gevolgd;
  • Removed: De entiteit is gemarkeerd voor verwijdering uit de database.

Wanneer de EntityManager een entiteit aanmaakt of vindt, plaatst het deze entiteit in de persistentiecontext.

Alle wijzigingen die aan de beheerde entiteit worden aangebracht, worden automatisch bijgehouden en na het afronden van de transactie worden deze wijzigingen gesynchroniseerd met de database.

JPQL (Java Persistence Query Language)

In JPQL worden query's geschreven om gegevens in de database te vinden of te wijzigen met een objectgeoriënteerde benadering.

SELECT c from Category c WHERE c.title = 'query'

In JPQL werken we niet direct met de tabel- en kolomnamen. In plaats daarvan verwijzen we naar de Category klasse en het title veld, waardoor de query begrijpelijker wordt voor Java-ontwikkelaars. JPQL abstraheert de onderliggende databasestructuur, zodat je je kunt richten op het objectgeoriënteerde model.

Hibernate

Bijvoorbeeld, Hibernate kan automatisch database tabellen genereren en bijwerken op basis van je entiteiten (klassen).

Hibernate bevat cachingmechanismen waarmee vaak gebruikte gegevens in het geheugen kunnen worden opgeslagen, waardoor het aantal verzoeken aan de database wordt verminderd en de prestaties van de applicatie worden verbeterd.

1. Wat is JPA?

2. Welke interface in JPA wordt gebruikt voor het uitvoeren van bewerkingen op entiteiten?

question mark

Wat is JPA?

Select the correct answer

question mark

Welke interface in JPA wordt gebruikt voor het uitvoeren van bewerkingen op entiteiten?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4
some-alt