The Advanced JPA Programming training course is a follow-up course to the Introduction to JPA course
In this course, you’ll learn advanced JPA programming concepts, like database optimization strategies, JPA provider optimizations, working with complex data models, and implementing caching strategies. This course is ideal for developers using JPA in a production environment who need to address database-related scaling issues.
- Create dynamic run-time queries using the Criteria API
- Design complex schema mappings
- Perform simple JPA tuning
What You'll Learn
In the Advanced JPA Programming course, you will learn:
- Review of JPA Concepts
- Review of JPA Querying
- Introduction to JPA Criteria API
- What is it?
- How does it work?
- When to use it
- Building Criteria API queries
- Performing bulk updates and deletes
- Working with Transactions
- Review of Transaction concepts
- Managing Transactions
- Using the JTA to manage transactions
- Performing commits and rollbacks
- Unsynchronized Persistence Context
- Working with Locking
- Review of locking concepts
- Working with optimistic locking
- Working with pessimistic locking
- Advanced JPA Concepts
- Inheritance and Mapped Super Classes
- Modeling relationships as Maps
- Using Collections as embedded types
- Working with nested embedded classes
- Entity Lifecycle Handling
- PrePersist, PreRemove, and PreUpdate
- PostPersist, PostRemove, PostUpdate, and PostLoad
- CDI Listeners
- JPA Performance Tuning
- Lazy and eager fetching
- Mass updates and removals
- Configuring second-level caching
- Hibernate specific tuning options
- EclipseLink specific tuning options
Meet Your Instructor
Michael is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has designed and implemented large-scale, enterprise-grade, Java-based applications at major telecommunications and Internet companies, such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.
Michael has a passion for learning new technologies, patterns, and paradigms (or, he has a tendency to get bored or disappointed with current ones)....Jean
Jean brings years of development experience into her teaching, making the learning experience practical for her students. Originally a Smalltalk developer, Jean has an expansive knowledge of object-oriented (OO) development, analysis, and design. Jean has worked in every stage of the software development process for a variety of businesses – from small non-profits, to government agencies, to global enterprises.
Jean was also one of the top instructors at Sun Microsystems in North America and Europe....Anil
Anil is a seasoned software engineer with over 16 years of Java development experience.
Anil started his career as a Unix programmer, slinging C-code, writing shell scripts, and teaching others how to use Unix back when Unix was still a toddler. Anil’s expertise in Unix, C, and C++ allowed him to become a member of Technical Staff at ATT / Bell labs. During his tenure at Bell Labs, Anil led the creation of software tools that simulated network traffic, in particular, cellular...Marnie
Marnie brings 15 years of experience delivering programming related training. During that time she has taught for top-technology companies including: Sun (and later Oracle) certified Java classes, RedHat Certified JBoss administration courses, Spring Source Certified Spring and Hibernate courses. Her classes have run the gamut from introduction to programming classes to Java EE web services and much of the Java EE stack in between.
She has a passion for teaching, which is evident in her presentations and...