Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

Home > Training > IBM > Rational Application Developer > Rational Application Developer (RAD) 7.5 >

WA1735 Java Persistence (JPA) Programming using Rational Application Developer 7.5 Training and Courseware (Coming Soon)

This 3 day training course teaches students about the standard persistence architecture provided by JPA. This standard can be used to replace third party persistence frameworks like Hibernate. By learning the programming model made available by the JPA standard and how to use it in various types of applications, developers can create applications that are more portable between environments and rely less on integration of third party libraries. Students will develop JPA applications using RAD 7.5 for the WebSphere Application Server v7.0 platform.

Topics

 
  • Java Persistence (JPA) specification
  • JPA Tools in Rational Application Developer 7.5
  • JPA queries
  • JPA relationships and inheritance
  • JPA-related design patterns
  • Using Rational Application Developer 7.5 tools to develop JPA applications

What you will learn

  After completing this course, the student should be able to:
  • Develop Java applications that use JPA to map persistent objects to the database
  • Control the mapping of the Java object model to the relational database schema
  • Query data using JPA queries
  • Define complex mappings including relationships and inheritance
  • Utilize JPA in a variety of application types, including web, EJB, and standard Java applications
  • Be productive developers in the Rational Application Developer (RAD) environment
  • Deploy application code inside WebSphere Application Server v7.0

Audience

  This course is designed for Java programmers and web application designers who have interest in learning how to persist data from Java applications to relational databases using the Java Persistence API (JPA) using IBM's Rational and WebSphere tools.

Prerequisites

  Intermediate level Java programming knowledge.
Course WA1733 - Introduction to Java Using Rational Application Developer 7.5 satisfies this requirement

Duration

  Three days

Course Outline

1. Java Enterprise Edition (EE) Overview

 
  • Objectives
  • Introduction to Java Platform
  • Java Community Process (JCP)
  • Introduction to Java EE
  • Why Move to Java EE
  • Java EE - New and Enhanced Features
  • Java EE Software Packaging
  • Java EE Technologies
  • Summary
 

2. Introduction to Rational Application Developer (RAD) v7.5

 
  • Objectives
  • The RAD 7.5 Product
  • Eclipse Platform
  • Rational Web Developer
  • Rational Application Developer
  • Key Features in RAD v7.5
  • Views, Perspective, and Editor Areas
  • Basic Operations with RAD Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Task and Problems View
  • Build and Validation
  • Import and Export Project
  • Code Completion, Templates and Snippets
  • Searching
  • Setup Compiler Class Path
  • JRE Switching
  • Refactoring
  • Changing Class Name
  • Changing Method Name
  • Changing Variable Name
  • Moving a Class to a Different Package
  • Extracting Code to a Method
  • Pull Up and Push Down Methods
  • Migrating Workspace from RAD v6 or WSAD v5.1.2
  • Project Interchange Feature
  • Summary
 

3. Entities and Java Persistence API

 
  • Objectives
  • Data Persistence
  • Java Persistence API
  • Entities
  • Session Beans Vs Entities
  • Entities
  • Persisting and Retrieving Data
  • Accessing Entities
  • EntityManager & Persistence Unit
  • Persistence Context
  • Entities - Example
  • persistence.xml Hibernate Provider
  • persistence.xml Open JPA Provider
  • persistence.xml - Toplink
  • Entity Instance Lifecycle
  • Creating EntityManager in Session EJB
  • Creating EntityManager in a Plain Java Class
  • Working With the EntityManager Interface
  • Transaction Basics
  • Entity Lifecycle
  • When is an Entity Managed or Detached?
  • Implementing the CRUD Pattern
  • Accessing Entities Using Stateless Session Beans
  • Inserting Data
  • Retrieving Data
  • Updating Data
  • Deleting Data
  • Merging Entities
  • Life-Cycle Callbacks
  • Example: Internal callback
  • External Callback Class
  • Listener Class - Example
  • Synchronizing with Databases
  • Entity Lookup
  • JPAQL (JPA Query Language)
  • Summary
  • Creating Entities
  • JPA Project
  • Creating An Entity
  • Generated Entity Class
  • Code the Entity
  • JPA Tooling
  • Dependencies
 

4. JPA Usage Scenarios

 
  • Objectives
  • Obtaining an Entity Manager
  • Application-Managed Entity Managers
  • Using JPA With EJBs
  • Benefits of JPA With EJBs
  • Using JPA With JSF
  • Using JPA With Servlets
  • Using JPA With Java SE
  • Packaging Persistence Units
  • Summary
 

5. Enterprise JavaBeans (EJBs) Overview

 
  • Objectives
  • Need for EJBs
  • Distributed Computing
  • Distributed Transaction
  • Distributed Security
  • What are EJBs?
  • Main Characteristics of EJBs
  • EJB Remote Method Call
  • EJB Architecture Components
  • EJB Client
  • EJB JAR File
  • EJB Container
  • EJB Server
  • Enterprise JavaBeans
  • Session Beans
  • Entity Beans
  • Java Persistence API - Entities
  • Message-Driven Beans (MDBs)
  • EJB Specification
  • Summary
 

6. Java Persistence Query Language (JPA QL)

 
  • Objectives
  • JPA Query Language
  • Basic JPAQL Syntax
  • Simple SELECT Examples
  • Example of Using JPAQL
  • The SELECT clause
  • Reading Data from Code
  • The WHERE Clause
  • Example Using JPAQL from Session EJB
  • Named Query
  • Multiple Named Queries
  • Bulk Updates
  • Bulk Delete
  • Running Native SQL Query
  • Native SELECT Query
  • Native SQL Delete and Insert
  • Named Native Query
  • Summary
 

7. Entity Relationship

 
  • Objectives
  • Relationship Between Entities
  • Anatomy of a Relationship
  • Foreign Key
  • Example Schema
  • One-to-One Unidirectional
  • Creating Entity Instances
  • Traversing the Relationship
  • The Cascade Behavior
  • One-to-One Bidirectional
  • Traversing the Relationship
  • One-To-Many and Many-To-One
  • Many-to-One Unidirectional
  • Creating Entity Instances
  • Traversing the Relationship
  • Modeling One-to-Many
  • Creating Entity Instances
  • Traversing the Relationship
  • Many-to-Many
  • Modeling Many-to-Many
  • Creating Entity Instances
  • Traversing Relationship
  • Unidirectional One-to-Many
  • Modeling Unidirectional One-to-Many
  • Creating Entity Instances
  • Traversing the Relationship
  • Relationship in JPA QL
  • Fetching Optimizations
  • Lazy vs. Eager Initialization
  • Lazy Initialization
  • Problems with Lazy Initialization
  • Fetch Join Query
  • Summary
 

8. Entity Inheritance

 
  • Objectives
  • Inheritance
  • Inheritance Example
  • Inheritance and Entities
  • Inheritance Strategies
  • Inheritance Strategy 1: Single Table Per Class Hierarchy
  • Single Table Per Class Hierarchy
  • Table Structure: Single Table Per Class Hierarchy
  • Pros and Cons
  • Strategy 2: Table Per Concrete Class
  • Table Per Concrete Class
  • Table Per Concrete Class: JBoss Warning
  • Table Per Concrete Class
  • Table Structure: Table Per Concrete Class
  • Table Per Concrete Class: Pros and Cons
  • Strategy 3: Joined Subclasses
  • Joined Subclasses
  • Table Structure: Joined Subclasses
  • Joined Subclasses: Pros and Cons
  • Which Approach To Use?
  • Summary
 

9. Transactions

 
  • Objectives
  • Need for Transactions
  • Transactions
  • ACID Properties
  • Transaction Components
  • Distributed Transactions
  • Distributed Transaction Components - Two Phase Commit
  • Java Transaction API (JTA)
  • Object Transaction
  • EJB Transaction Basics
  • Transaction Propagation
  • Transaction Outcome
  • Container Managed Transaction
  • Container Managed Transaction Settings
  • Interacting with Container Managed Transactions
  • Container Managed Transaction - Example
  • Transaction Attributes Support
  • Bean Managed Transaction
  • Bean Managed Transaction - Example
  • Client Managed Transaction
  • Transaction Isolation
  • Isolation Level
  • Summary
 

10. JPA Design Patterns

 
  • Objectives
  • Data Transfer Object (DTO) Pattern
  • JPA Entity as DTO
  • Problem With JPA Entity as DTO
  • Version Number pattern
  • JPA and Version Number Pattern
  • Primary Key Generation
  • JPA and Primary Key Generation
  • Fast Lane Pattern
  • JPA and Fast Lane Pattern
  • Summary
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
Outline Course Outline

Buy on-site and customized class

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.