Studiewijzer module 02
Mapping basics


In deze les komen de verschillende mogelijkheden aan bod om de kolommen en relaties tussen tabellen te modelleren met JPA annotaties.

De volgende onderwerpen zullen de revue passeren:

  • @Entity: geeft aan dat de class een JPA entiteit is

  • @Table: geeft aan welke tabel gebruikt moet worden voor de entiteit

  • @ManyToOne: een adres ligt maar in één land

  • @OneToMany: een land heeft meerdere provincies

  • @ManyToMany: een land kan veel rivieren door zich hebben stromen, en een rivier kan door veel landen stromen

  • @OneToOne: een account heeft één persoon en een persoon heeft slechts één account

  • @Temporal: geeft aan of je alleen geïnteresseerd bent in de datum, tijd of de datum en de tijd

  • @Column: bevat alle opties voor die voor de gemarkeerde kolom gelden

  • @JoinColumn: bevat alle opties voor die voor de gemarkeerde @ManyToOne kolom gelden

  • @Id: markeert dit veld (en de bijbehorende kolom) als identifier voor JPA. Elke entiteit moet er één hebben.

  • @Basic: geeft aan dat deze kolom opgeslagen moet worden als een basistype (gebruiken we weinig)

  • @Transient: geeft aan dat dit veld niet gebruikt moet worden door JPA

  • @Enumerated: geeft aan hoe je een enum opslaat in de database

  • FetchType: geeft aan of JPA de kolom of de relatie meteen moet ophalen, of alleen wanneer die nodig is

Vorm

De vorm is een sessie bij een whiteboard en een beeldscherm. Je dient na afloop van de sessie het huiswerk te maken en dat zal dan besproken worden in een volgende sessie.

Huiswerk

Maak de opgaven in de class HuiswerkLes2:

  • ✓ opdracht_1_voegConstraintsToeAanRegion(EntityManager)

  • ✓ opdracht_2_voegConstraintsToeAanRegion(EntityManager)

  • ❏ opdracht_3_voegConstraintsToeAanCountry(EntityManager)

  • ❏ opdracht_4_voegConstraintsToeAanCountry(EntityManager)

  • ❏ opdracht_5_voegConstraintsToeAanLocation(EntityManager)

  • ❏ opdracht_6_voegConstraintsToeAanLocation(EntityManager)

  • ❏ opdracht_7_voegConstraintsToeAanLocation(EntityManager)

  • ❏ opdracht_8_voegConstraintsToeAanDepartment(EntityManager)

  • ❏ opdracht_9_voegConstraintsToeAanDepartment(EntityManager)

  • ❏ opdracht_10_voegConstraintsToeAanEmployee(EntityManager)

  • ❏ opdracht_11_voegConstraintsToeAanEmployee(EntityManager)

  • ❏ opdracht_12_voegConstraintsToeAanEmployee(EntityManager)

  • ❏ opdracht_13_voegConstraintsToeAanEmployee(EntityManager)

  • ❏ opdracht_14_voegConstraintsToeAanJob(EntityManager)

  • ❏ opdracht_15_voegConstraintsToeAanJob(EntityManager)

  • ❏ opdracht_20_voegRelatiesToeAanCountry(EntityManager)

  • ❏ opdracht_21_voegRelatiesToeAanLocation(EntityManager)

  • ❏ opdracht_22_voegLocationRelatieToeAanDepartment(EntityManager)

  • ❏ opdracht_23_voegEmployeesRelatieToeAanDepartment(EntityManager)

  • ❏ opdracht_24_voegManagerRelatieToeAanDepartment(EntityManager)

  • ❏ opdracht_25_voegDepartmentRelatieToeAanEmployee(EntityManager)

  • ❏ opdracht_26_voegManagerRelatieToeAanEmployee(EntityManager)

  • ❏ opdracht_27_voegJobRelatieToeAanEmployee(EntityManager)


« Vorige module Volgende module »