The training is intended for:
– Java developers who want to learn JPA from the ground up or expand their knowledge
– Architects and technical leads designing business applications
– Application maintainers working with Java applications integrated with relational databases who want to gain a deeper understanding of the ORM layer
– Students and graduates of computer science preparing to work on commercial projects
– Professionals seeking to enhance their skills and improve efficiency when working with business applications based on JPA
After completing the training, the participant will be able to:
– understand the principles of ORM and JPA
– map Java entity classes to relational databases
– work confidently with entities and manage their lifecycle
– write JPQL queries and use the Criteria API
– apply inheritance mechanisms, relationships, and collections
– use entity lifecycle events and cascading operations
– optimize queries and deliberately apply lazy relationships
1. INTRODUCTION
– ORM definition
– persistence technologies in Java
– JPA history
– entity properties
2. ENTITY MANAGER
– defining entities
– entity manager
– EM methods
– transactions
3. OBJECT-RELATIONAL MAPPINGS
– persistence annotations
– access to entity state
– mapping to tables
– mapping data types
– mapping to the primary key
– primary key generation strategies
– composite primary keys
4. RELATIONSHIP MAPPINGS
– basic concepts and notations
– unidirectional 1:1 relationship
– bidirectional 1:1 relationship
– unidirectional M:1 relationship
– bidirectional 1:M / M:1 relationship
– unidirectional 1:M relationship
– bidirectional M:N relationship
– lazy relationships
– embedded objects
– cascading operations
5. COLLECTION MAPPINGS
– List collection mapping
– collection ordering
– Map collection mapping
6. OBJECT-ORIENTED CONCEPTS
– inheritance
– mapped superclasses
– transient classes
– inheritance strategies
– single-table strategy
– joined strategy
– table-per-concrete-class strategy
7. JAKARTA PERSISTENCE QUERY LANGUAGE
– SELECT query
– FROM clause
– INNER JOIN clause
– OUTER JOIN clause
– WHERE clause
– subqueries
– case expressions
– UPDATE statement
– DELETE statement
8. USING QUERIES
– defining queries
– dynamic queries
– named queries
– queries with parameters
– executing queries and retrieving results
– updating and deleting data
9. CRITERIA API
– what is Criteria API?
– defining queries
– creating queries
– basic clauses
– FROM clause
– SELECT clause
– JOIN clause
– WHERE clause
– ORDER BY, GROUP BY, HAVING clauses
10. CALLBACKS
– lifecycle events
– callback methods
– entity listener
To fully benefit from the training, participants should have:
– knowledge of the Java language at least at a basic level – classes, interfaces, collections, exceptions
– a basic understanding of relational databases – concepts such as tables, primary and foreign keys, indexes, simple SQL queries
– experience working with Java SE and Java EE applications (servlets, JSP pages, EJB)
– the ability to use IntelliJ Ultimate IDE
– basic knowledge of Maven
Language: English
