0% found this document useful (0 votes)
28 views19 pages

Jpa Hibernate

The document provides an overview of Java Persistence API (JPA) and Hibernate, highlighting key concepts such as entities, EntityManager, and JPQL, along with the advantages of using JPA for standardized ORM in Java. It also details Hibernate's features like automatic table creation, caching, and lazy loading, while discussing the integration of JPA and Hibernate with Spring Boot for simplified setup. Overall, it emphasizes the importance of these technologies in enhancing data persistence and application performance in Java development.

Uploaded by

zakaria
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views19 pages

Jpa Hibernate

The document provides an overview of Java Persistence API (JPA) and Hibernate, highlighting key concepts such as entities, EntityManager, and JPQL, along with the advantages of using JPA for standardized ORM in Java. It also details Hibernate's features like automatic table creation, caching, and lazy loading, while discussing the integration of JPA and Hibernate with Spring Boot for simplified setup. Overall, it emphasizes the importance of these technologies in enhancing data persistence and application performance in Java development.

Uploaded by

zakaria
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

JPA

&
HIBERNATE

@rohanthapa
Java Persistence API (JPA)
The Java Persistence API (JPA) is a specification for
object-relational mapping (ORM) in Java.

It standardizes the way Java objects are mapped to


relational database tables, simplifying data access
and manipulation.
Key Concepts:
1.Entity:
An entity represents a table in a database.
Each entity instance corresponds to a row in the
table.
Key Concepts:
2. EntityManager:

The EntityManager is the primary interface for


interacting with the persistence context.
It provides methods for CRUD operations,
querying, and managing entity instances.
Key Concepts:
3. Persistence Unit:
A persistence unit defines a set of entity classes
that are managed together.
It is configured in the persistence.xml file.

4. JPQL (Java Persistence Query Language):


JPQL is similar to SQL but operates on entity
objects rather than database tables.
It supports queries for entity retrieval and
manipulation.
Advantages of JPA
Standardization: JPA provides a standardized
approach to ORM, ensuring compatibility and
consistency across different JPA
implementations.

Productivity: JPA reduces boilerplate code,


allowing developers to focus on business logic
rather than data access code.

Portability: Applications written using JPA are


portable across different databases and
environments.
Hibernate
Hibernate is an open-source ORM framework that
implements JPA.

It provides advanced features and optimizations for


database interactions.

Key Features
1.Automatic Table Creation:

Hibernate can automatically generate database


tables based on entity mappings.
Key Features
2. Caching:
Hibernate supports first-level and second-level
caching to improve performance.
First-level cache is associated with the session
and is enabled by default.
Second-level cache is associated with the session
factory and is optional.
Key Features
3. Lazy Loading:
Lazy loading delays the loading of related entities
until they are accessed.

4. Batch Processing:
Hibernate can optimize batch operations to
improve performance.
Key Features
5.Custom SQL:
Hibernate allows the use of native SQL queries if
needed.
Advantage of Hibernate
Rich Feature Set: Hibernate offers many
advanced features not covered by JPA, such as
caching, lazy loading, and batch processing.

Maturity and Stability: Hibernate is widely


adopted and has been extensively tested in
various enterprise applications.

Community and Support: Hibernate has an active


user community and extensive documentation.
Integrating JPA and Hibernate with
Spring Boot

Spring Boot simplifies the setup and configuration of


JPA and Hibernate. Here’s how to get started:

Dependencies: Add the necessary dependencies to


your pom.xml (for Maven) or build.gradle (for
Gradle).

Maven:
Integrating JPA and Hibernate with
Spring Boot

Basic Setup:
1. Entity Class: Define your entity class with JPA
annotations.
Integrating JPA and Hibernate with
Spring Boot

2. Repository Interface: Create a repository interface


for data access.

3. Application Properties: Configure the database


connection in application.properties.
Common JPA and HIbernate
Annotations
1.@Entity:
Marks a class as an entity.

2. @Table:
Specifies the table name

3. @Id:
Specifies the primary key.
Common JPA and HIbernate
Annotations
4. @GeneratedValue:
Specifies the generation strategy for the primary
key.

5. @Column:
Specifies the column details.

6. @OneToOne, @OneToMany, @ManyToOne,


@ManyToMany:
Defines relationships between entities
Common JPA and HIbernate
Annotations
7. @JoinColumn:
Specifies the foreign key column

8. @Query:
Defines custom JPQL or native SQL queries

9. @Cacheable:
Enables second-level caching for an entity
Conclusion
JPA and Hibernate are essential tools for modern
Java applications, offering a robust and flexible
framework for data persistence and management.

By integrating JPA and Hibernate with Spring Boot,


developers can leverage the power of these
technologies while enjoying the benefits of Spring
Boot’s simplicity and ease of use.

Whether you are building a simple CRUD application


or a complex enterprise system, understanding and
utilizing JPA and Hibernate will significantly enhance
your development process and application
performance.
Thank You

You might also like