Companies Home Search Profile

Get Interview Ready with SpringData JPA & Hibernate Concepts

Focused View

Ranjan Pandey

1:00:02

60 View
  • 1 - What is Database and Database Server and Tables.mp4
    09:22
  • 2 - Real world Explanation of Tables Rows Relationship between Tables.mp4
    10:25
  • 3 - Basics of JPA and ORM.mp4
    05:12
  • 4 - Hibernate Core Classes and Interfaces.mp4
    08:49
  • 5 - Hibernate Entity States Cache Levels Spring Data JPA and Queries.mp4
    26:14
  • Description


    Learn all the concepts of Hibernate and Spring Data JPA to get ready for Interview

    What You'll Learn?


    • You will learn basics about ORM technology
    • You will learn the concepts of Hibernate Framework
    • You will learn about different objects in Hibernate
    • You will learn about of lifecycle of entity
    • You will about the different cache levels in Hibernate
    • You will learn about different types of queries in Spring Data JPA
    • You will learn about the basics of Database and SQL

    Who is this for?


  • Anyone who wants to refresh hibernate and spring data jpa concepts and be prepared for Interview
  • More details


    Description

    In this course, you will learn all the concepts of Hibernate and Spring Data JPA to get ready for an Interview.


    You will learn about the following:


    Hibernate ORM Framework - JPA Implementation


    Hibernate has a layered architecture that helps the user to operate without having to know the underlying APIs. Hibernate makes use of the database and configuration data to provide persistence services (and persistent objects) to the application.


    Hibernate Application Architecture with its important core classes.


    Configuration Object


    The Configuration object is the first Hibernate object you create in any Hibernate application. It is usually created only once during application initialization.


    The Configuration object provides two keys components −


    Database Connection configuration


    Class Mapping Setup


    SessionFactory Object


    Configuration object is used to create a SessionFactory object.


    The SessionFactory is a thread safe object and used by all the threads of an application.


    We would need one SessionFactory object per database using a separate configuration.


    Session Object


    A Session is used to get a physical connection with a database. The Session object is lightweight and designed to be instantiated each time an interaction is needed with the database. Persistent objects are saved and retrieved through a Session object.


    Transaction Object


    A Transaction represents a unit of work with the database and most of the RDBMS supports transaction functionality. Transactions in Hibernate are handled by an underlying transaction manager and transaction (from JDBC or JTA-Java Transaction API).


    Query Object


    Query objects use SQL or Hibernate Query Language (HQL) string to retrieve data from the database and create objects. A Query instance is used to bind query parameters, limit the number of results returned by the query, and finally to execute the query.


    Criteria Object(Filtered Select query with many Where condition)


    Criteria objects are used to create and execute object oriented criteria queries to retrieve objects.


    HIBERNATE OBJECT STATES


    A new instance of a persistent class which is not associated with a Session, has no representation in the database and no identifier value is considered transient by Hibernate:

    // person is in a transient state


    A persistent instance has a representation in the database, an identifier value and is associated with a Session. You can make a transient instance persistent by associating it with a Session:


    Now, if we close the Hibernate Session, the persistent instance will become a detached instance: it isn't attached to a Session anymore (but can still be modified and reattached to a new Session later though).


    HIBERNATE CACHING


    Caching is a mechanism to enhance the performance of a system. It is a buffer memory that lies between the application and the database. Cache memory stores recently used data items in order to reduce the number of database hits as much as possible.


    Caching is important to Hibernate as well. It utilizes a multilevel caching scheme as explained below −


    First-level Cache


    The first-level cache is the Session cache and is a mandatory cache through which all requests must pass. The Session object keeps an object under its own power before committing it to the database.


    Second-level Cache


    Second level cache is an optional cache and first-level cache will always be consulted before any attempt is made to locate an object in the second-level cache. The second level cache can be configured on a per-class and per-collection basis and mainly responsible for caching objects across sessions.


    Query-level Cache


    Hibernate also implements a cache for query resultsets that integrates closely with the second-level cache.


    This is an optional feature and requires two additional physical cache regions that hold the cached query results and the timestamps when a table was last updated. This is only useful for queries that are run frequently with the same parameters.


    JPA offers 4 different ways to generate primary key values: @Id


    AUTO: Hibernate selects the generation strategy based on the used dialect,


    IDENTITY: Hibernate relies on an auto-incremented database column to generate the primary key,


    SEQUENCE: Hibernate requests the primary key value from a database sequence,


    TABLE: Hibernate uses a database table to simulate a sequence.


    SPRING DATA JPA - Abstraction layer built on top of Hibernate


    Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories. This module deals with enhanced support for JPA based data access layers. It makes it easier to build Spring-powered applications that use data access technologies.


    Implementing a data access layer of an application has been cumbersome for quite a while. Too much boilerplate code has to be written to execute simple queries as well as perform pagination, and auditing. Spring Data JPA aims to significantly improve the implementation of data access layers by reducing the effort to the amount that’s actually needed. As a developer you write your repository interfaces, including custom finder methods, and Spring will provide the implementation automatically.

    Who this course is for:

    • Anyone who wants to refresh hibernate and spring data jpa concepts and be prepared for Interview

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Ranjan Pandey
    Ranjan Pandey
    Instructor's Courses
    I am a Fullstack DevOps software professional with 12+ years of experience in variety of technologies ranging from web and mobile app development using HTML5, CSS3,  JavaScript, JQuery, Bootstrap, Angular, React, Java, Spring, Springboot, Python, Flask, Django, NodeJS, Express, Android, Ionic, React Native, Flutter, Camunda Bpm to Artificial Intelligence and Cloud technologies like Amazon web services and Microsoft Azure.I am also certified in Java, Azure cloud, Backbase product.I have experience in working with multiple MNC's and European clients. I am also a corporate trainer providing a wide range of training.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 5
    • duration 1:00:02
    • Release Date 2023/05/13