Opleiding: Java Data Access with Hibernate
The course Java Data Access with Hibernate addresses Object Relational Mapping with Hibernate.Hibernate Architecture
After an overview of the data access capabilities in Java, including JDBC, and the challenge they face, the basic concepts and architecture of the Hibernate Framework is discussed.
Hibernate Configuration
The role of the Hibernate configuration file is examined and the mapping of Java classes to database tables is discussed. Next attention is paid to the role and structure of the mapping files and annotations and the role of the various properties and attributes.
Sessions
The central position of the Hibernate Session created through the SessionFactory is discussed and attention is paid to the various states that Java objects can have in relation to the database like persistent, transient and detached.
Mapping
The various key generation strategies are discussed and also the mapping of association and inheritance relationships to the database are part of the subject matter.
Hibernate Query language
Next attention is paid to the capabilities of Hibernate Query language, HQL, to Hibernate criteria and the use of native SQL queries.
Transactions
Finally also Hibernate transactions are discussed, the use of annotations as an alternative to XML mapping files is addressed and the different varieties of Hibernate caching are explained.
Audience Java Data Access Hibernate Course
Experienced Java developers who want to use Hibernate for accessing data in databases.
Prerequisites Course Java Data Access Hibernate
Experience with Java programming and object orientation is required. Knowledge of database structures and SQL is beneficial for a proper understanding.
Realization Training Java Data Access Hibernate
The concepts are treated by means of presentation slides and demos. The theory is interspersed with exercises. The course material is in English. The course times are from 9.30 up and to 16.30.
Certification Java Data Access Hibernate
Participants receive an official certificate Java Data Access with Hibernate after successful completion of the course.
Modules
Module 1 : Java Persistence
- Java Persistence
- Traditional Persistence
- Transparent Persistence
- Persistence Technologies
- Direct File I/O
- Serialization
- Java Database Connectivity
- JDBC Architecture
- Executing Statements
- Retrieving Results
- JDBC Drivers
- JDBC URL's
- Problems with JDBC
Module 2 : Hibernate Basics
- What is Hibernate?
- Hibernate Characteristics
- Hibernate Configuration
- Hibernate Configuration File
- Persistent classes
- Mapping Files
- Hibernate Architecture
- Hibernate Core Concepts
- Storing Objects
- Generated Table and SQL
- Primary Key Column
- Lifecycle States
- Persistence Lifecycle
Module 3 : Mapping Persistent Objects
- Class to Table Mappings
- Property Mapping
- Identifiers and Generators
- Hibernate Session
- Entities and Values
- Entity Lifecycle
- Persistent State
- Transient State
- Persistent Object Updates
- Automatic Dirty Checking
- Detached State
- Deleting Objects
- Merging
Module 4 : Mapping Relationships
- Many-to-one Associations
- Mapping to List, Map
- Mapping to Bag and Array
- Using Comparator
- One-to-one Associations
- Many-to-many Associations
- Value Type Collections
- Collections of Components
- Sorting Collections
- Cascading over associations
- Lazy versus Eager Loading
- Detached Objects and Proxies
- Polymorphic Associations
Module 5 : Mapping Inheritance
- Inheritance Mapping Strategies
- Single Table per Class Hierarchy
- Single Table Data Model
- Discriminator Columns
- Advantages and Disadvantages
- Table per Concrete Class Strategy
- Table per Concrete Class with unions
- Table per Class Data Model
- Advantages and Disadvantages
- Joined Subclass Strategy
- Joined Data Model
- Polymorphism
- Choosing an Inheritance Strategy
Module 6 : Queries and Criteria
- Hibernate Query Language
- HQL Parameters
- Named Queries
- Native SQL
- Criteria
- Restrictions
- Scrolling and Pagination
- Query Hints
- Join Fetching
- Subselect Fetching
- Batch Fetching
- Queries and Fetching Strategies
- Cartesian Product Problem
Module 7 : Transactions
- Java Transaction API
- JTA versus JDBC Transactions
- Transaction Configuration
- Hibernate Transaction API
- Isolation Levels
- Optimistic Locking
- Versioning
- Pessimistic Locking
- ThreadLocal Transactions
- Conversations
- Session Lifetime
- Concurrent Access
Module 8 : Hibernate Annotations
- Metadata
- Annotations Pros/Cons
- Configuring Hibernate Annotations
- Entity and table annotation
- Primary key annotations
- Column annotations
- Special
- Relation annotations
- Join column annotations
- Components
- Inheritance
- EJB3/JPA Annotations
Module 9 : Hibernate Configuration
- Configuration File
- HibernateUtils
- XML versus Annotations
- Connection Pools
- The promise of Cache
- Hibernate Caching Architecture
- First Level Cache
- Second Level Cache
- Cache Concurrency
- Configuring Second Level Cache
- Cache Regions
- Eviction