JVA-161. The Java Persistence API

Similar documents
PERFORMANCE EVALUATION OF JAVA OBJECT-RELATIONAL MAPPING TOOLS HASEEB YOUSAF. (Under the Direction of John A. Miller)

Table of Content. Introduction to ObjectDB and JPA. Object Model: Types, Entities, Primary Keys. Database Connections

Enterprise JavaBeans 3.1

Performance Evaluation of Java Object Relational Mapping Tools

Java EE 7: Back-End Server Application Development

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

MySQL for Beginners Ed 3

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

Course 20464: Developing Microsoft SQL Server Databases

EclipseLink. Solutions Guide for EclipseLink Release 2.5

Oracle BI 11g R1: Build Repositories

Core Java+ J2EE+Struts+Hibernate+Spring

Enterprise Application Development In Java with AJAX and ORM

Java SE 8 Programming

Patterns of Enterprise Application Architecture

Developing Microsoft SQL Server Databases 20464C; 5 Days

20464C: Developing Microsoft SQL Server Databases

Developing Microsoft SQL Server Databases (20464) H8N64S

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

Java Application Performance

Red Hat Enterprise Portal Server: Architecture and Features

W I S E. SQL Server 2008/2008 R2 Advanced DBA Performance & WISE LTD.

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

Instant SQL Programming

Developing Microsoft SQL Server Databases

The Entity-Relationship Model

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Module 1: Getting Started with Databases and Transact-SQL in SQL Server 2008

Writing Queries Using Microsoft SQL Server 2008 Transact-SQL

Oracle Application Development Framework Overview

Cache Database: Introduction to a New Generation Database

DATABASE MANAGEMENT SYSTEMS. Question Bank:

Java SE 7 Programming

Why IBM WebSphere Application Server V8.0?

Customer Bank Account Management System Technical Specification Document

Java SE 7 Programming

Object Database Tutorial

OTN Developer Day Enterprise Java. Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics

Automated Function Points in a Continuous Integration Environment (Agile AFP)

Inside the Digital Commerce Engine. The architecture and deployment of the Elastic Path Digital Commerce Engine

Java SE 7 Programming

Nicholas S. Williams. wrox. A Wiley Brand

Object Relational Mapping for Database Integration

Writing Queries Using Microsoft SQL Server 2008 Transact-SQL

SPRING INTERVIEW QUESTIONS

rpaf KTl enterprise EJB 3.1 Cookbook I I flv* IV I I professional expertise distilled

Lag Sucks! R.J. Lorimer Director of Platform Engineering Electrotank, Inc. Robert Greene Vice President of Technology Versant Corporation

SQL Server for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

OptimalJ Foundation. PSM EJB Model. Roadmap. What is the EJB model? EJB model as a PSM model Mapping the EJB model Model elements and code generation

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Develop an Asset Management System (AMS) for Ho Chi Minh University of Industry

Spring Data, Jongo & Co. Java Persistenz-Frameworks für MongoDB

Performance Comparison of Persistence Frameworks

1. Introduction What is Slice? Background Why Slice? Purpose of this Document Intended Audience...

AV-005: Administering and Implementing a Data Warehouse with SQL Server 2014

DBMS / Business Intelligence, SQL Server

Geodatabase Programming with SQL

Object-Oriented Databases db4o: Part 2

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21

Oracle Data Integrator: Administration and Development

MOC 20461C: Querying Microsoft SQL Server. Course Overview

1 File Processing Systems

OUR COURSES 19 November All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan Göteborg Sweden

Java EE Introduction, Content. Component Architecture: Why and How Java EE: Enterprise Java

Course ID#: W 35 Hrs. Course Content

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Oracle Database: SQL and PL/SQL Fundamentals NEW

Java EE 6 Ce qui vous attends

JVA-561. Developing SOAP Web Services in Java

Querying Microsoft SQL Server 2012

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

ActiveVOS Server Architecture. March 2009

Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Published: May 25, 2012 Language(s): English Audience(s): IT Professionals

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

Rapid Application Development. and Application Generation Tools. Walter Knesel

Oracle Database 12c: Introduction to SQL Ed 1.1

Course 10774A: Querying Microsoft SQL Server 2012

Database Programming with PL/SQL: Learning Objectives

Object Oriented Design with UML and Java. PART XVIII: Database Technology

applications. JBoss Enterprise Application Platform

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

Introducing Microsoft SQL Server 2012 Getting Started with SQL Server Management Studio

Oracle Business Intelligence Foundation Suite 11g Essentials Exam Study Guide

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Framework Adoption for Java Enterprise Application Development

CERTIFIED MULESOFT DEVELOPER EXAM. Preparation Guide

Querying Microsoft SQL Server Course M Day(s) 30:00 Hours

Developing Java Web Services

Financial Management System

Design and Implementation

Introduction to Querying & Reporting with SQL Server

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

Course Outline. SQL Server 2014 Performance Tuning and Optimization Course 55144: 5 days Instructor Led

EclipseLink. Developing Persistence Architectures Using EclipseLink Database Web Services Release 2.5. April Beta Draft

City University of Hong Kong. Information on a Course offered by Department of Computer Science with effect from Semester A in 2014 / 2015

David Dye. Extract, Transform, Load

Transcription:

JVA-161. The Java Persistence API Version 2.1 This course offers a comprehensive and detail-oriented treatment of the Java Persistence API (JPA) for developers interested in implementing persistence tiers for enterprise applications. We cover JPA basics including simple object/relational concepts and annotations, persistence contexts and entity managers, and configuration via persistence.xml. We get a good grounding in the Java Persistence Query Language (JPQL), working with a JPQL console. The course then moves into advanced mapping techniques, the Criteria API, lifecycle hooks, validation, locking, and caching. Students will complete the course with a firm understanding of JPA architecture and plenty of hands-on experience. This version of the course supports JPA 2.1 with a choice of two providers: EclipseLink 2.6, which is pre-configured for course exercises, and Hibernate 5.0. Switching providers is just a matter of moving a few lines in and out of XML comments in the relevant persistence.xml file, and we encourage instructors to demonstrate both providers, to illustrate portability and for comparison of some finer points. The course also supports either the Derby or Oracle RDBMS. Derby is bundled with the course software and is pre-configured; a script is included to change over to Oracle configurations for all exercises and schema-creation scripts are available for both. Hibernate is a registered trademark of Red Hat, Inc. Oracle is a registered trademark of Oracle Corporation. Other names may be trademarks of their respective owners. No association with or endorsement by Red Hat or Oracle is implied by the use of these terms in this document.. Prerequisites A strong Java programming background is essential for this course consider Course 103 Knowledge of relational database concepts and SQL is recommended, but is not strictly required. Prior experience with JDBC will be a plus but is not required. Course Length: 5 days Learning Objectives Understand the value of object/relational mapping and JPA's role as a standard for ORM implementations. Develop JPA entities using JPA annotations to align the Java classes, properties, and types to relational tables, columns, and types. Create entity managers and instantiate persistence contexts to perform persistence operations. Implement entity relationships of all cardinalities, including unidirectional and bidirectional relationships. Map composite primary keys, inheritance relationships, eager/lazy fetching, and cascading operations. Use JPQL to write object-oriented queries, and process query results. Use the Criteria API to define queries programmatically, and take advantage of type safety using the Metamodel API. Build reusable façades that encapsulate simpler and more complex persistence operations. Implement persistence lifecycle event handlers. Define JSR-303 validation constraints on JPA entities and see them enforced by the JPA provider. 1

Manage concurrent opertaions via optimistic or pessimistic locking strategies. Understand the actions of the local and shared entity caches, and use them appropriately while avoiding over-caching pitfalls. Course Outline Chapter 1. Introduction to JPA Object/RelationalMapping Mismatches Between Relational and Object Models The Java Persistence API JPA Architecture Entity Metadata The Entity Manager JPA Providers Chapter 2. Object/Relational Mapping Annotations JavaBean Standards Property, Field, and Mixed Access Table and Column Mapping Primary Keys and Generation Type Mappings Temporal and Enumerated Types Embedded Types Converters Chapter 3. Mapping Associations @Embeddable Types Entity Relationships @ManyToOne Relationships @OneToOne Relationships @OneToMany Relationships @ManyToMany Relationships Eager and Lazy Loading Chapter 4. Entity Managers Putting Entities to Work persistence.xml Entity State and Transitions Managing Transactions Persistence Operations Creating Queries Named Queries 2

Query Parameters Native Queries Stored-Procedure Queries Chapter 5. JPQL The Java Persistence Query Language Query Structure Path Expressions Filtering Scalar Functions Using Native Functions Operators and Precedence between, like, in is null, is empty Ordering Aliases Grouping Aggregate Functions Joins Fetch Joins Constructors Updates and Deletes Chapter 6. Persistence Components Encapsulating Persistence Logic Design Considerations Testability Transaction Control Exception Handling Generic Types Chapter 7. Advanced Mappings Inheritance Strategies Single-Table Strategy Joined-Table Strategy Table-Per-Concrete-Class Strategy Querying Over Inheritance Relationships Secondary Tables Composite Primary Keys @IdClass and @EmbeddedId Derived Identifiers @ElementCollection Default Values 3

@Version Fields Cascading and Orphan Removal Detachment and Merging Chapter 8. The Criteria API History of the Criteria API Criteria Query Structure The MetaModel API and Query Type Safety Tuples Joins Predicates Building Expressions Ordering Grouping Encapsulating Persistence Logic Façades RangeQueries Updates and Deletes Chapter 9. Lifecycle Lifecycle Events Method Annotations EntityListeners Chapter 10. Validation JSR-303 Validation Constraint Annotations Validation Modes Validation Groups Handling Validation Exceptions Chapter 11. Locking Concurrency Updates to the Same and Related Entities Pessimistic Locking Lock Types Who Blocks Whom Deadlocking and Timeouts Optimistic Locking The @Version Annotation Optimistic Read and Write Locking Error Handling Combining Locking Strategies Chapter 12. Caching 4

Caching Persistence Context as Transactional Cache Eviction Effects of Locking on Caching 5