Java Training Overview
This training course provides students with the knowledge needed to use the Hibernate Object/Relational Mapping (ORM) framework to implement the persistence layer of J2EE applications
Java Training Audience
- Software designers, developers and programmers
Java Training Prerequisites
To succeed fully in this course, students should be able to:
- Understand how to program in Java – Course addresses the Java programming language
Java Training Learning Objectives
Upon completion of this course, you should be able to:
- Understand the concepts of object/relational mappings
- Understand the architecture of Hibernate
- Integrate and configure Hibernate in J2EE applications
- Create Hibernate mappings
- Retrieve and update persistent objects using Hibernate
- Use HQL (Hibernate Query Language) and criteria queries
- Know when to use database and application transactions
- Understand the Hibernate caching architecture
- Tune performance of Hibernate operations
- Use various Hibernate tools
Java Training Topics
- Object/Relational Mapping Concepts
- Hibernate Architecture and Configuration
- Basic Hibernate Mappings
- Manipulating Persistent Objects
- Advanced Hibernate Mappings
- Transactions and Concurrency
- Performance
- Hibernate Tools
- Design Techniques
Java Training Course duration
Three Days
Java Training Course outline
Chapter 1.
Introduction to Hibernate
- Topics
- What is Hibernate?
- Relational Database Technology
- Accessing Relational Databases from Java
- Domain Models
- Comparing Object and Relational Models
- Identity Modeling
- Granularity of Objects and Tables
- Association Modeling
- Navigation
- Inheritance
- What is Object/Relational Mapping?
- Advantages of using an ORM Tool
- Architecture of Hibernate
- Hibernate API
- Extension Interfaces
- Hibernate Configuration
- Hibernate Mappings
- Hibernate Properties
- Hibernate XML Configuration Files
- Non-Managed and Managed Environments
- Configuration in a Non-Managed Environment
- Configuration in a Managed Environment
- Binding SessionFactory to JNDI
- A Simple Example
- Alternatives to Hibernate
- EJB Entity Beans
- Hand-Coded Persistence Using JDBC
- Object-Oriented Databases
- Other ORM Tools
Chapter 2.
Basic Mappings
- Topics
- Creating the Domain Model
- Domain Model
- Domain Objects
- Hibernate Requirements
- Object Identity
- Primary Keys
- Natural Keys vs. Surrogate Keys
- Identifier Property
- Identifier Generators
- Hibernate Managed Identifiers
- Mapping Metadata
- Mapping Properties
- Property Access Strategies
- Derived Properties
- Preventing Insert/Update
- Using Database Schemas
- Quoted SQL Identifiers
- Specifying Java Packages
- Entity and Value Types
- Components
- Bi-Directional Components
- Other Component Details
- Association Mappings
- Many-to-One Association
- One-to-Many Association
- Inheritance Mapping Strategies
- Table per Concrete Class
- Table per Subclass
- Table per Class Hierarchy
Chapter 3.
Manipulating Persistent Objects
- Topics
- Object States
- Transient Objects
- Persistent Objects
- Detached Objects
- Object Identity
- Persisting a Transient Object
- Retrieving and Updating a Persistent Object
- Deleting a Persistent Object
- Updating a Detached Object
- Transitive Persistence
- Using save-update
- Differentiating Between Transient and Detached Objects
- HQL Queries
- Parameter Binding
- Pagination
- Named Queries
- Polymorphic Queries
- Restriction
- String Comparison
- Logical Operators
- Ordering the Results
- Join Queries
- Implicit Joins
- Where Clause Joins
- Criteria Queries
- Polymorphic Criteria Queries
- Restricting Criteria Queries
- Comparing Strings in Criteria Queries
- Using Logical Operators in Criteria Queries
- Ordering Results in Criteria Queries
- Using Joins in Criteria Queries
- Using Dot Notation to Get Component Properties
Chapter 4.
Advanced Mappings
- Topics
- One-to-One Associations
- Many-to-Many Associations
- Polymorphic Associations
- Entity vs. Value Types
- Built-in Mapping Types
- Using Mapping Types
- Custom Mapping Types
- Collections of Value Types
- Set of Value Types
- Bag of Value Types
- List of Value Types
- Map of Value Types
- Collections of Components
- Sorting Collections
Chapter 5.
Transactions, Concurrency and Performance
- Topics
- Database Transactions
- JDBC and JTA Transactions
- Hibernate Transactions
- Flushing the Hibernate Session
- Isolation Issues
- Isolation Levels
- Configuring the Isolation Level
- Pessimistic Locking
- Application Transactions
- Application Transaction Isolation
- Managed Versioning
- Using Existing Properties to Implement Optimistic Locking
- Caching
- Hibernate Cache Architecture
- The First-Level Cache
- The Second-Level Cache
- Cache Concurrency Strategies
- Enabling the Second-Level Cache
- Cache Regions
- Specifying a Cache Provider
- Support for Cache Providers
- Explicitly Evicting Objects From the Second-Level Cache
- Fetching Strategies
- Fetching Strategies in Mappings – Single Point Associations
- Fetching Strategies in Mappings –Collections
- Fetching Strategies in Mappings –Batches
- Explicit Initialization of Lazily Loaded Objects
- Fetching Strategies in HQL Queries
- Fetching Strategies in Criteria Queries
- The N+1 Selects Issue
- Report Queries - Projections
- Report Queries – Projections
- Report Queries – Aggregation
- Report Queries – Grouping
Chapter 6.
Tools and Design Techniques
- Topics
- Generating the Database Schema
- Generating the Domain Model
- Generating the Database Schema
- Using Middlegen
- Using XDoclet
- The Open Session in View Pattern
- Using a Natural Key
- Using a Composite Key
- Dealing with Database Triggers
Minimum Hardware Requirements
- 650 Mhz Pentium III
- 384 MB RAM minimum, 512 MB recommended
- 8 GB
- Network connection (Ethernet or token ring card)
- Network connectivity to the internet
Minimum Software Requirements
- Microsoft Windows 2000
- Adobe Acrobat Reader V6.0
- Internet Explorer 6.0 or higher.
- WinZip 8.0 (or higher)
- Eclipse-SDK-3.0
- J2SDK V 1.5.0 or higher
|