Learning by doing
Trainers with practical experience
Detailed course material
Clear content description
Tailormade content possible
Training that proceeds
The course Java Data Access with Hibernate addresses Object Relational Mapping with Hibernate.
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.
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.
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.
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.
Next attention is paid to the capabilities of Hibernate Query language, HQL, to Hibernate criteria and the use of native SQL queries.
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.
Experienced Java developers who want to use Hibernate for accessing data in databases.
Experience with Java programming and object orientation is required. Knowledge of database structures and SQL is beneficial for a proper understanding.
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.
Participants receive an official certificate Java Data Access with Hibernate after successful completion of the course.
Module 1 : Java Persistence
Module 2 : Hibernate Basics
Module 3 : Mapping Persistent Objects
Direct File I/O
Java Database Connectivity
Problems with JDBC
|What is Hibernate?
Hibernate Configuration File
Hibernate Core Concepts
Generated Table and SQL
Primary Key Column
Class to Table Mappings
Identifiers and Generators
Entities and Values
Persistent Object Updates
Automatic Dirty Checking
Module 4 : Mapping Relationships
Module 5 : Mapping Inheritance
Module 6 : Queries and Criteria
Mapping to List, Map
Mapping to Bag and Array
Value Type Collections
Collections of Components
Cascading over associations
Lazy versus Eager Loading
Detached Objects and Proxies
|Inheritance Mapping Strategies
Single Table per Class Hierarchy
Single Table Data Model
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
Choosing an Inheritance Strategy
Hibernate Query Language
Scrolling and Pagination
Queries and Fetching Strategies
Cartesian Product Problem
Module 7 : Transactions
Module 8 : Hibernate Annotations
Module 9 : Hibernate Configuration
|Java Transaction API
JTA versus JDBC Transactions
Hibernate Transaction API
Configuring Hibernate Annotations
Entity and table annotation
Primary key annotations
Join column annotations
XML versus Annotations
The promise of Cache
Hibernate Caching Architecture
First Level Cache
Second Level Cache
Configuring Second Level Cache
All our courses are classroom courses in which the students are guided through the material on the basis of an experienced trainer with in-depth material knowledge. Theory is always interspersed with exercises.
We also do custom classes and then adjust the course content to your wishes. On request we will also discuss your practical cases.
The course times are from 9.30 to 16.30. But we are flexible in this. Sometimes people have to bring children to the daycare and other times are more convenient for them. In good consultation we can then agree on different course times.
We take care of the computers on which the course can be held. The software required for the course has already been installed on these computers. You do not have to bring a laptop to participate in the course. If you prefer to work on your own laptop, you can take it with you if you wish. The required software is then installed at the start of the course.
Our courses are generally given with Open Source software such as Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda and Netbeans. You will receive the digital course material to take home after the course.
The course includes lunch that we use in a restaurant within walking distance of the course room.
The courses are planned at various places in the country. A course takes place at a location if at least 3 people register for that location. If there are registrations for different locations, the course will take place at our main location, Houten which is just below Utrecht. A course at our main location also takes place with 2 registrations and regularly with 1 registration. And we also do courses at the customer’s location if they appreciate that.
At the end of each course, participants are requested to evaluate the course in terms of course content, course material, trainer and location. The evaluation form can be found at https://www.klantenvertellen.nl/reviews/1039545/spiraltrain?lang=en. The evaluations of previous participants and previous courses can also be found there.
The intellectual property rights of the published course content, also referred to as an information sheet, belong to SpiralTrain. It is not allowed to publish the course information, the information sheet, in written or digital form without the explicit permission of SpiralTrain. The course content is to be understood as the description of the course content in sentences as well as the division of the course into modules and topics in the modules.