Close
Contact Us info@learnquest.com

??WelcomeName??
??WelcomeName??
« Important Announcement » Contact Us 877-206-0106 | USA Flag
Close
Close
Close
photo

Thank you for your interest in LearnQuest.

Your request is being processed and LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.

photo

Thank you for your interest in Private Training.

We look forward to helping you develop the perfect training solution to help you meet your company's goals.

For immediate assistance, speak with one of our representatives using the chat module below. Otherwise, LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.

Close
photo

Thank you for your interest in LearnQuest!

Now, you will be able to stay up-to-date on our latest course offerings, promotions, and training discounts. Watch your inbox for upcoming special offers.

title

Date: xxx

Location: xxx

Time: xxx

Price: xxx

Please take a moment to fill out this form. We will get back to you as soon as possible.

All fields marked with an asterisk (*) are mandatory.

JPA with Hibernate

Price
2,925 USD
5 Days
EJJF-720
Classroom Training, Online Training
Oracle

AWS Training Pass

Take advantage of flexible training options with the AWS Training Pass and get Authorized AWS Training for a full year.

Learn More

Prices reflect a 22.5% discount for IBM employees.
Prices reflect a 24% discount for Kyndryl employees.
Prices reflect the Accenture employee discount.
Prices shown are the special AWS Partner Prices.
Prices reflect the Capgemini employee discount.
Prices reflect the UPS employee discount.
Prices reflect the ??democompanyname?? employee discount.
GSA Private/Onsite Price: ??gsa-private-price??
For GSA pricing, please go to GSA Advantage.

Class Schedule

Delivery Formats

Sort results

Filter Classes

Guaranteed to Run

Modality

Location

Language

Date

    Sorry, there are no public classes currently scheduled in your country.

    Please complete this form, and a Training Advisor will be in touch with you shortly to address your training needs.

View Global Schedule

Course Description

Overview

This JPA with Hibernate course is designed to provide students with JPA basics including simple object/relational concepts and annotations, persistence contexts and entity managers, and configuration via persistence.xml. We get a good grounding in the Java Persistence Query Language (JPQL) and take advantage of a prepared JPQL query console to explore the two schemas on which the course's case studies are based. The course then moves into advanced mapping techniques, the Criteria API, lifecycle hooks, validation, locking, and caching. Students will complete the course with a firm understanding of JPA architecture and plenty of hands-on experience.
This version of the course supports JPA 2.1 with Hibernate 5.0. EclipseLink 2.6 is deployed with the course software as well; switching providers is just a matter of moving a few lines in and out of XML comments in the relevant persistence.xml file, and we encourage instructors to demonstrate both providers, to illustrate portability and for comparison of some finer points.
The course also supports either the Derby or Oracle RDBMS. Derby is bundled with the course software and is pre-configured; a script is included to change over to Oracle configurations for all exercises and schema-creation scripts are available for both.

 

Objectives

Upon completion of the JPA with Hibernate course, students will be able to:
  • Understand the value of object/relational mapping and JPA's role as a standard for ORM implementations.
  • Develop JPA entities using JPA annotations to align the Java classes, properties, and types to relational tables, columns, and types.
  • Create entity managers and instantiate persistence contexts to perform create/retrieve/update/delete (CRUD) operations.
  • Implement entity relationships of all cardinalities, including unidirectional and bidirectional relationships.
  • Map composite primary keys, inheritance relationships, eager/lazy fetching, and cascading operations.
  • Use JPQL to write object-oriented queries, and process query results.
  • Use the Criteria API to define queries programmatically, and take advantage of type safety using the Metamodel API.
  • Build reusable façades that encapsulate simpler and more complex persistence operations.
  • Implement persistence lifecycle event handlers.
  • Define JSR-303 validation constraints on JPA entities and see them enforced by the JPA provider.
  • Manage concurrent opertaions via optimistic or pessimistic locking strategies.
  • Understand the actions of the local and shared entity caches, and use them appropriately while avoiding over-caching pitfalls.

Audience

  • Developers

Prerequisites

    • Strong Java programming background is essential
    • Knowledge of relational database concepts and SQL is recommended
    • Prior experience with JDBC (optional)

Topics

  • Introduction to JPA
    • Object/Relational Mapping
    • Mismatches Between Relational and Object Models
    • The Java Persistence API
    • Hibernate
    • Architecture
    • Entity Metadata
    • The Entity Manager
  • Single-Table Mapping
    • Annotations
    • JavaBean Standards
    • Property, Field, and Mixed Access
    • Table and Column Mapping
    • Primary Keys and Key Generation
    • Type Mappings
    • Temporal and Enumerated Types
    • Embedded Types
    • Converters
  • Mapping Associations
    • @Embeddable Types
    • Entity Relationships
    • @ManyToOne Relationships
    • @OneToOne Relationships
    • @OneToMany Relationships
    • @ManyToMany Relationships
    • Eager and Lazy Loading
  • Entity Managers
    • Putting Entities to Work
    • persistence.xml
    • Entity State and Transitions
    • Managing Transactions
    • Persistence Operations
    • Creating Queries
    • Named Queries
    • Query Parameters
    • Native Queries
    • Stored-Procedure Queries
  • JPQL
    • The Java Persistence Query Language
    • HQL and JPQL
    • Query Structure
    • Path Expressions
    • Filtering
    • Scalar Functions
    • Using Native Functions
    • Operators and Precedence
    • between, like, in
    • is null, is empty
    • Ordering
    • Aliases
    • Grouping
    • Aggregate Functions
    • Joins
    • Fetch Joins
    • Constructors
    • Updates and Deletes
  • Persistence Components
    • Encapsulating Persistence Logic
    • Design Considerations
    • Testability
    • Transaction Control
    • Exception Handling
    • Generic Types
  • Advanced Mappings
    • Inheritance Strategies
    • Single-Table Strategy
    • Joined-Table Strategy
    • Table-Per-Concrete-Class Strategy
    • Querying Over Inheritance Relationships
    • Type Identification with .class
    • Secondary Tables
    • Composite Primary Keys
    • @IdClass and @EmbeddedId
    • Derived Identifiers
    • @ElementCollection
    • Default Values
    • @Version Fields
    • Cascading and Orphan Removal
    • Detachment and Merging
    • Hibernate Extensions
    • The @Type Annotation
  • The Criteria API
    • History of the Criteria API
    • Criteria Query Structure
    • The MetaModel API and Query Type Safety
    • Tuples
    • Joins
    • Predicates
    • Building Expressions
    • Ordering
    • Grouping
    • Encapsulating Persistence Logic
    • Façades
    • Range Queries
    • Updates and Deletes
  • Lifecycle and Validation
    • Lifecycle Events
    • Method Annotations
    • Entity Listeners
  • Validation
    • JSR-303 Validation
    • Constraint Annotations
    • Validation Modes
    • Validation Groups
    • Handling Validation Exceptions
  • Locking
    • Concurrency
    • Updates to the Same and Related Entities
    • Pessimistic Locking
    • Lock Types
    • Who Blocks Whom
    • Deadlocking and Timeouts
    • Optimistic Locking
    • The @Version Annotation
    • Optimistic Read and Write Locking
    • Error Handling
    • Combining Locking Strategies
  • Caching
    • Caching
    • Persistence Context as Transactional Cache
    • Shared (2nd-Level) Cache
    • Pros and Cons
    • Cache Configuration
    • Eviction
    • Effects of Locking on Caching
    2021 Top 20 Training Industry Company - IT Training

    Need Help?

    Call us toll free at 877-206-0106 or e-mail us at info@learnquest.com

    Personalized Solutions

    Need a personalized solution for your Training? Contact us, and one of our training advisors will help you find the best solution.

    Contact Us

    Need Help?

    Do you have a question about the courses, instruction, or materials covered? Do you need help finding which course is best for you? We are here to help!

    Talk to us

    20% Off All Cybersecurity Training Courses

    Arm yourself with the skills to safeguard against cyber threats.

    PROMO CODE: SECURITY20
    VALID THROUGH OCTOBER 31, 2023

    20% Off All Cybersecurity Training Courses

    Self-Paced Training Info

    Learn at your own pace with anytime, anywhere training

    • Same in-demand topics as instructor-led public and private classes.
    • Standalone learning or supplemental reinforcement.
    • e-Learning content varies by course and technology.
    • View the Self-Paced version of this outline and what is included in the SPVC course.
    • Learn more about e-Learning

    Course Added To Shopping Cart

    bla

    bla

    bla

    bla

    bla

    bla

    Self-Paced Training Terms & Conditions

    ??spvc-wbt-warning??
    ??group-training-form-area??
    ??how-can-we-help-you-area??
    ??personalized-form-area??
    ??request-quote-area??

    Sorry, there are no classes that meet your criteria.

    Please contact us to schedule a class.
    Close


    STOP! Before You Leave

    Save 0% on this course!

    Take advantage of our online-only offer & save 0% on any course !

    Promo Code skip0 will be applied to your registration

    Close
    Nothing yet
    here's the message from the cart

    To view the cart, you can click "View Cart" on the right side of the heading on each page
    Add to cart clicker.

    Purchase Information

    ??elearning-coursenumber?? ??coursename??
    View Cart

    Need more Information?

    Speak with our training specialists to continue your learning journey.

     

    Delivery Formats

    Close

    By submitting this form, I agree to LearnQuest's Terms and Conditions

    heres the new schedule
    This website uses third-party profiling cookies to provide services in line with the preferences you reveal while browsing the Website. By continuing to browse this Website, you consent to the use of these cookies. If you wish to object such processing, please read the instructions described in our Privacy Policy.
    Your use of this LearnQuest site affirms your consent to our use of session and persistent cookies to track how you use our website.