Cursus Spring Data JPA

In de cursus Spring Data JPA wordt ingegaan op de krachtige abstractie Spring Data JPA bovenop het object relational mapping framework Hibernate/JPA, waarmee database interacties en query uitvoering in Spring applicaties worden vereenvoudigd.

Regio:
  • Inhoud
  • Training
  • Modules
  • Algemeen
    Algemeen
  • Reviews
  • Certificaat
  • Cursus Spring Data JPA : Inhoud

    Persistence Intro

    De cursus begint met een introductie in Java Persistence. Onderwerpen zoals JDBC, SQL, drivers, databaseconfiguratie en Object Relational Mapping worden behandeld. Er wordt ingezoomd op de Java Persistence API (JPA), het gebruik van de Entity Manager, Persistence Units en het mappen van entiteiten. Tot slot worden verschillende JPA-implementaties besproken, waaronder EclipseLink en Hibernate.

    Spring Data JPA

    In deze module leren deelnemers wat Spring Data is en hoe Spring Data JPA werkt. Er wordt aandacht besteed aan configuratie via property-bestanden, mapping van tabellen en kolommen, en het gebruik van primaire sleutels. Annotaties zoals @Id en @GeneratedValue komen aan bod, evenals het opzetten van relaties tussen entiteiten met One-to-One, One-to-Many, Many-to-One en Many-to-Many.

    CRUD-operaties

    Deze module behandelt het implementeren van CRUD-operaties met behulp van JpaRepository en CrudRepository. Onderwerpen zijn onder andere Cascade Types, fetchstrategieën (EAGER vs LAZY), transactioneel gedrag via @Transactional en het gebruik van PagingAndSortingRepository.

    Data opvragen

    Deelnemers leren hoe ze data kunnen opvragen met querymethoden en naamgevingsconventies zoals findBy en countBy. Zowel JPQL-queries als native queries worden behandeld. Er wordt ook gekeken naar het gebruik van annotaties zoals @Query en @Modifying en hoe custom queries worden opgebouwd.

    Entity Lifecycle

    Deze module richt zich op de levenscyclus van entiteiten in JPA. Er wordt aandacht besteed aan methoden voor opslaan en verwijderen, annotaties zoals @PrePersist en @PostLoad, flush-modi, caching, en transactionele afhandeling inclusief Optimistic Locking en de @Version-annotatie.

    Paginering en Sorteren

    Deelnemers leren hoe paginering en sortering geïmplementeerd kunnen worden met interfaces zoals Page, Slice en PageRequest. Ook het sorteren van entiteiten op specifieke attributen komt aan bod, evenals het gebruik van DTO-projecties (open, gesloten en op klassen gebaseerd).

    Caching

    Deze module behandelt cachingstrategieën in combinatie met JPA. Het gebruik van de Spring Cache met annotaties zoals @Cacheable, configuratie van caches, en het optimaliseren van queries met @BatchSize en @EntityGraph komen aan bod.

    Transacties

    Deelnemers krijgen inzicht in de ACID-eigenschappen, transactionele configuratie, en propagatie van transacties. Zowel declaratieve als programmatische transacties worden behandeld, evenals het terugdraaien van transacties met de rollBackFor-attribuut.

    Geavanceerde onderwerpen

    Tot slot worden geavanceerde onderwerpen behandeld zoals domeinevents, event publishers en listeners, auditing met @EnableJpaAuditing, en het gebruik van @EntityGraph en @NamedEntityGraph voor het optimaliseren van queries.

  • Cursus Spring Data JPA : Training

    Doelgroep Cursus Spring Data JPA

    De cursus Spring Data JPA is bestemd voor Java en Spring Boot developers die relationele databases willen benaderen vanuit Spring Boot applicaties.

    Voorkennis Cursus Spring Data JPA

    Grondige kennis van Java en SQL en basis kennis van Spring en Spring Boot. Ervaring met JPA en Hibernate is bevorderlijk voor de begripsvorming.

    Uitvoering Training Spring Data JPA

    Demo sessies onder leiding van de trainer worden afgewisseld met presentaties en praktijk oefeningen.

    Certificaat Spring Data JPA

    De deelnemers krijgen na het goed doorlopen van de cursus een certificaat van deelname aan Spring Data JPA.

    Cursus Spring Data JPA
  • Cursus Spring Data JPA : Modules

    Module 1: Persistence Intro

    Module 2: Spring Data JPA

    Module 3: CRUD Operations

    Java Persistence
    JDBC and SQL
    Drivers and URL's
    Database Configuration
    Object Relational Mapping
    Java Persistence API
    Entity Manager
    Persistence Units
    Mapping Entities
    JPA Implementations
    Eclipse Link and Hibernate
    What is Spring Data?
    Spring Data JPA
    Property Files
    Tables and Columns
    Primary Keys
    Auto Generation Strategies
    @Id and @GeneratedValue
    Persistence Context
    Defining Relationships
    One-to-One and One-to-Many
    Many-to-One and Many-to-Many
    Implementing CRUD Operations
    @EnableJpaRepositories
    JpaRepository
    Cascade Types
    Fetch Strategies
    EAGER versus LAZY
    CrudRepository
    Transaction Management
    @Transactional Annotation
    @Transactional Attributes
    PagingAndSortingRepository

    Module 4: Querying Data

    Module 5: Entity Lifecycle

    Module 6: Pagination and Sorting

    Query Methods
    Method Naming Conventions
    Derived Query Methods
    findBy and countBy
    Java Persistence Query Language
    JPQL Queries
    @Query Annotation
    @Modifying Annotation
    Equality Conditions
    Custom Queries
    Native Queries
    Understanding Entity Lifecycle
    Save Methods
    Delete Methods
    @PrePersist Annotation
    @PostLoad Annotation
    Flush Modes
    Caching
    Second Level Cache
    Managing Transactions
    Optimistic Locking
    @Version Annotation
    Implementing Pagination
    Pageable and Sort
    Paginating All Entities
    Page and Slice Interface
    PageRequest Class
    Sorting All Entities
    Sort Order
    Typed Sort
    Returning DTO Projections
    Open and Closed Projections
    Class Based Projections

    Module 7: Caching

    Module 8: Transactions

    Module 9: Advanced Topics

    Spring Cache with JPA
    @Cacheable Annotation
    First Level Cache
    Second Level Cache
    Cache Configuration
    Storing Results
    Fetch Strategies
    Using @BatchSize
    @EntityGraph Annotation
    Optimizing Fetch Queries
    ACID Properties
    Transaction Properties
    Transaction Propagation
    Transaction Management
    Injecting Transaction Manager
    @EnableTransactionManagement
    Declarative Transactions
    Programmatic Transactions
    Rolling Back Transactions
    rollBackFor Attribute
    Domain Events
    Event Publishers
    Event Listeners
    @DomainEvents Annotation
    Auditing in Spring Data JPA
    @EnableJpaAuditing Annotation
    AuditingEntityListener
    Entity Graphs
    @EntityGraph Annotation
    @NamedEntityGraph Annotation
  • Cursus Spring Data JPA : Algemeen

    Lees de algemene cursus informatie
  • Cursus Spring Data JPA : Reviews

  • Cursus Spring Data JPA : Certificaat