Training related
Recent Posts » Feed
- JSF 2 can finally be used in cluster environments » 23 Aug 2010
- Imagine the web improves on 11.11.11 » 15 Jul 2010
- Hibernate Training Update » 20 Apr 2010
- Blogging like a developer » 24 Feb 2010
- Window Id - Practical use cases » 18 Jan 2010
- GWT tip - better exception logging on the server » 18 Dec 2009
- Oh JavaFX, Oh JavaFX - why don't you progress? » 01 Dec 2009
- Devoxx 2009 Presentation - Selecting Web Technologies » 18 Nov 2009
- Window id - browser extension » 13 Nov 2009
Hibernate training, 3 days
Description
The training is a solid introduction to Hibernate. It explains most features of Hibernate and provides the participant with a good knowledge of Hibernate concepts. After the training the student is ready to develop Hibernate based applications, is aware of common pitfalls and has a general knowledge about architecture.
The training covers 3 days and includes a large number of practical labs including a complete prototype web application.
Your trainer is Sebastian Hennebrueder.
How to book?
Check our regular schedule or ask for onsite trainings in your office.
Duration 3 days – 18 hours
Price net 1725 EUR, Price incl. VAT 2052.75 EUR
Target Customer
Java developers who have limited or no experience with Hibernate needing a complete and solid training. Java knowledge and experience with JDBC based application is required.
Provided material
Printed copy of slides
eBook Hibernate Developer Guide (Author Sebastian Hennebrueder)
Table of Content ...
Day One
1 Introduction
Object relational mapping
Java persistence
2 Mapping of properties
Annotation versus XML Mapping
ID columns
- Property mapping
- Components
- Lab – Mapping of properties
3 Understanding Hibernate Concepts – State of objects
Database identity versus Java identity
equals and hashcode
4 Working with Objects
Java Persistence and Hibernate compared
Tools for Hibernate development
- Save, update, delete
- Reattaching with update, merge, lock
- Querying
- Criteria queries and HQL queries
- Where conditions
- Lab - Working with objects
5 Configuration
Connection Pool
- Application connection pools, container connection pools, JNDI
- JDBC settings
- Session and Transaction behaviour
6 Relations
- Mapping
- List, Set, Map or Array
- 1:1, 1:n, m:n, 1:n:1, recursive relations
- Working with Relations
- Efficiently working with relations - Cascading
- Lab – Working with relations
Day Two
7 Querying
Aggregation like sum, average, count, min, max
Sorting
- Reporting queries
- Joins
- Querying of Relations
- Lab – Querying
8 Understanding Hibernate Concepts – Lazy loading
- The lazy initialization problem
- Eager and Lazy loading
- Changing the load behaviour in the mapping
- Using queries to initialize data
- Choosing strategies
- Lab – Lazy Loading
9 Inheritance
Strategies
Lab - Inheritance
10 Understanding Hibernate Concepts – Hibernate Session
11 Transaction and Exception handling
- Proper exception handling
- Exception handling with AOP, EJB 3
- Exception handling with web frameworks (JSF, Struts 2, Stripes, Tapestry)
- Transaction handling
- programmatically
- declarative with AOP (Spring, Google Guice) or EJB 3
12 Concurrent Access
Optimistic locking
Lab - Optimistic locking
Day Three
13 Architecture
- DAO – Data Access Objects
- Writing DAO
- Granularity – DAO per class, per use case, per ?
- Persistent Domain Objects
- Encapsulating business logic
- Guaranty consistency
- Session life time
- Session per Transaction
- Open Session In View (traditional)
- Open Session In View 2.0
14 Testing
Testing tools
How to test?
- What to test?
15 Writing a prototype application
Practical session where the student completes a full web application applying a number of best practices and design pattern he has learned during the training.
