India: +91 406677 1418

WhatsApp no. : +919100386313

USA: +1 909 233 6006

Telegram : +15168586242

jpa2

Jpa2 Course Content

Introduction to Java Persistence API (JPA)
  • Overview
  • Persistence Layers, Object-Relational Mapping (ORM), JDBC
  • JPA Overview
  • Mapping with JPA
  • Entities and @Entity, ids and @Id
  • Generated Id Values
  • Basic Mapping Types
  • Persistence Unit and EntityManager
  • Persisting to the DB, the EntityManager API
  • Persistence Units, Config, Persistence Context
  • Retrieving Persistent Entities with find()
  • More About Mappings
  • Default Mappings, @Basic, @Column
  • Field vs. Property Access
  • Temporal (Date/Time) Mappings
  • Logging Options (Provider based)
Updates and Queries
  • Inserting & Updating  Persisting new Entities, Updating an Instance, Removing an Instance
  • Querying and JPQL
  • Entity Based Queries, SELECT ,WHERE
  • Query Interfaces, Executing the Queries, Generic Queries (JPA 2)
  • JPQL Operators, Expressions, and Parameters
  • Named Queries
  • Additional Query Capabilities
  • Projection query, Ordering, Aggregate Query, Build Update and Delete
  • Embedded Objects
  • Embeddable, @Embedded
  • Defining and using Embedded Objects
  • Compound Primary Keys – @EmbeddedID, @IDClass, Defining Compound Keys
The Persistence Lifecycle
  • Transaction Overview & Transactions in JPA
  • Transaction Overview
  • Entity Transaction API (including JTA and resource-local EntityManager)
  • The Persistence Lifecycle
  • JPA Entity States (New, Managed, Detached, Removed) & Entity State Diagram
  • Persistence Context  Lifespan, Propagation
  • Synchronization to the DB
  • Versioning and Optimistic Locking
  • Overview, Detached Instances
  • Versioning, @Version, Optimistic Locking
  • Lifecycle Callbacks
  • PrePersist, @PostPersist, etc.
  • Entity Listeners, @EntityListeners
Enitity Relationships
  • Relationships Overview: Object Relationships, Participants, Roles, Directionality, Cardinality
  • Relationship Mapping
  • Mapping Overview (1-1, 1-N, N-1, N-N)
  • Unidirectional & Bidirectional
  • ManyToOne, @OneToMany, Table Structures
  • Relationship Inverse – Owning Side
  • Collection Types (List, Set, etc)
  • Cascading Over Relationships (including orphanRemoval – JPA 2)
  • ManyToMany, @OneToOne
  • Lazy & Eager Loading
  • Queries Across Relationships (Inner Joins, Outer Joins, Fetch Joins)
  • Entity Inheritance Mapping
  • Overview
  • Single Table Mapping
  • Joined (Table per Subclass) Mapping
  • Table per Concrete Class Mapping
  • Pros & Cons
Element Collections (JPA 2)
  • Overview, Collections of Value Objects, @ElementCollection, @CollectionTable
  • Using Element Collections
  • Collections of Embeddables
Criteria API (JPA 2)
  • Overview of the Criteria API
  • Path Expressions, Building Queries (CriteriaBuilder, CriteriaQuery, Subquery, Predicate, Expression, Order, Selection, Join)
  • Executing Queries & Accessing Results
Additional JPA Capabilities
  • XML Mapping Files
  • Bean Validation (JPA 2)
  • Best Practices
  • Primary Keys, Named Queries, Lazy/Eager Loading, Transactional Semantics,
Encapsulation, Report Queries
  • Integration
  • Data Access Objects (DAO) & Java SE Integration
  • DAO Overview
  • JpaUtil Class for EntityManager management in Java SE
  • Lifecycle Considerations
  • Integration with EJB
  • Using JPA with Session Beans
  • Container Managed Entity Manger
  • JTA Transactions & Lifecycle Considerations
  • Extended Persistence Contexts
  • Using JPA with Java Web Apps
  • Using EntityManager in Web apps – request scoping
  • Lazy Loading – Open EntityManager in View Pattern
  • Integration with Spring
  • Injection of EntityManger, EntityManagerFactory
  • LocalEntityManagerFactoryBean
  • JPA/Spring Based DAO