Fast Track to the Java Persistence API Version 2 (JPA 2) Training in Peabody
We offer private customized training for groups of 3 or more attendees.
|
||
Course Description |
||
As part of the complete overhaul of the Enterprise JavaBeans (EJB)
specification, database persistence was broken out into a completely
separate specification, the Java Persistence API (JPA). JPA replaces
entity beans with powerful new Object-Relational Mapping (ORM)
capabilities based on proven technologies such as Toplink and Hibernate.
This course includes all important features from JPA 2, and is also
suitable for users of the 1.0 release. JPA supports a POJO (Plain Old
Java Object) based model using annotations which lets you develop
persistent classes following common Java idioms. It supports entity
relationships, inheritance, polymorphism, composition, and much more.
The Java Persistence Query Language (JPQL), which is based on SQL but
operates on the object model, provides a powerful bridge between the
object and relational worlds. JPA also allows you to express queries
using native SQL, including the capability to map the SQL query results
to persistent entities This course covers everything you need to know
to begin working with the Java Persistence API in a very short time. It
covers all the important concepts necessary to access and update data
stored in relational databases. It includes an extensive series of labs
to exercise all major capabilities.
Course Length: 3 Days
Course Tuition: $1290 (US) |
Prerequisites |
|
One year of Java programming experience (or equivalent) is preferred. |
Course Outline |
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 and Updating - Persisting new Entities, Updating an Instance, Removing an Instance
Querying and JPQL
Entity Based Queries, SELECT ,WHERE
Query Interface, Executing 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 and Transactions in JPA
Transaction Overview
EntityTransaction API (including JTA and resource-local EntityManager)
The Persistence Lifecycle
JPA Entity States (New, Managed, Detached, Removed), and 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
Entity Relationships
Relationships Overview: Object Relationships, Participants, Roles, Directionality, Cardinality
Relationship Mapping
Mapping Overview (1-1, 1-N, N-1, N-N)
Unidirectional and Bidirectional
@ManyToOne, @OneToMany, Table Structures
Relationship Inverse - Owning Side
Collection Types (List, Set, etc)
Cascading Over Relationships (including orphanRemoval - JPA 2)
@ManyToMany, @OneToOne
Lazy and 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 and Cons
Element Collections (JPA 2)
Overview, Collections of Value Objects, @ElementCollection, @CollectionTable
Using Element Collections
Collections of Embeddables
The Crietria API (JPA 2)
Overview of the Criteria API
Path Expressions, Building Queries (CriteriaBuilder, CriteriaQuery, Subquery, Predicate, Expression, Order, Selection, Join)
Executing Queries and 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) and Java SE Integration (Optional)
DAO Overview
JpaUtil Class for EntityManager management in Java SE
Lifecycle Considerations
Integration with EJB (Optional)
Using JPA with Session Beans
Container Managed (Injected) Entity Manger
JTA Transactions and 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 (Optional)
Injection of EntityManger, EntityManagerFactory
LocalEntityManagerFactoryBean
JPA/Spring Based DAO
|
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
Java Programming Uses & Stats
Difficulty
|
Popularity
|
Year Created 1995 |
Pros
Most Commonly Used:
Great Career Choice:
Android Apps Development:
It Can Run On Any Platform:
Great Supporting IDE's: |
Cons
Uses a Lot of Memory:
Difficulty in Learning:
Slow Start Up Times:
Verbose and Complex Code:
Commercial License Cost: |
Java Programming Job Market |
Average Salary
|
Job Count
|
Top Job Locations
New York City |
Complimentary Skills to have along with Java Programming
- If you are an experienced Java developer, learning a complimentary language to Java should come much more naturally. As an example JetBrains recently created the Kotlin programming language which is officially supported by Google for mobile development. Kotlin compiles to Java bytecode and runs on the JVM; it's purported to address many of Java's shortcomings... |