JPA TRAINING - Java Persistence API for java rapid application development . JPA Basics - Elements of JPA, Basic Steps & Persistence,EntityManager & Query,

  • JPA Stands for Java Persistence API
  • Object Relational Mapping Overview - Object Identity, Object References, Collections, Inheritance, Semantics Missing From Java, Query Languages, O/R Patterns, Logical Mismatch & Transparent Persistence.
  • JPA Basics - Elements of JPA, Basic Steps & O/R Success Factors.
  • JPA API Overview - Persistence, EntityManagerFactory, EntityManager & Query
  • Setting up the Environment - Libraries, Data Source, JUnit, Ant, IDE's.
  • Configuration - Using XML & Java.
  • Create the Entity Classes - Rule for Persistent Entities, Recommendations for Persistent Entities, @Entity Annotation & @Id Annotation.
  • Relationships, Joins and Collections - Simple Composition and Associations, Entities versus Embedded Objects, @ManyToOne, @OneToOne, @ManyToMany, Mapping Collections, Collection Types, Simple Value Collections, Entity Collections, Bidirectional Associations, Cascading Operations, Sorting Collections, Externalize & Interface and Object Fields.
  • Identity - Database Versus Java Identity, Identity Scope, Identity Generation, Compound Keys, Synthetic Versus Natural Keys, Nullable ID, User Assigned & Generated.
  • Using Persistent Objects - Inserting, updating and deleting data, EntityManager Lifecycle, Exception Handling & Traversing Relationships.
  • Object States - Transient, Persistent & Detached.
  • EJB Query Language - Logging SQL, From Clause, ORDER BY Aliases, WHERE Clause, Associations in WHERE Clause, Select Clause, Aggregates, GROUP BY/HAVING Joins, Use Fetch to Reduce Database Access, Query Interface, Parameter Queries, Functions, Subqueries, All/Any, IN & Bulk Operations.
  • Patterns and Best Practices - Scoping JPA Objects, Entity Contexts, ThreadLocal Pattern, Composable Transactions & EntityManager Decorator.
  • Code Generation - Forward Engineering: Schema Generation, Reverse Engineering: Class Generation & Meet in the middle.
  • JPA in Web Applications -Open EM in View Pattern, Servlet Filters, Proper Scoping JPA Objects, Lifecycle management of JPA Objects & An Add/Edit JSP Page.
  • Maintaining Consistent State - Transactions, JTA, Container Managed Transaction, Using Lifecycle Events, Validation, Optimistic Locking, Versioning Objects, Datastore versus JPA Transactions & Declarative Transactions.
  • Mapping - @Table, @Column, @JoinColumn & @JoinTable.
  • Inheritance - Single Table, Joined, Table Per Class, Mapped Superclass & Discriminator.
  • Caching - EM Cache, Secondary (L2) Cache, Distributed Cache & Transactional Cache.
  • Class Enhancement - Runtime Enhancement, Classloader Enhancement & Build Time Enhancement.
  • Using Detached Objects - When to use detached objects, Pitfalls, Detach Triggers
  • Architecture Issues - JPA in a 2 Tier Environment, JPA in layered architectures & JPA in web services
  • Performance Issues - Lazy Loading versus Eager Loading, Fetch Groups, Caching & Other tips
  • Misc Issues - Logging & Debugging Tips
  • Using JPA with Spring - JPA Objects in ApplicationObjects, Managing lifecycle of JPA objects & Transactions