Hibernate architecture is layered
to keep us isolated from having to know the underlying API’s.
There are four
layers in hibernate architecture:
· Java Application layer
· Hibernate Framework layer
· Backhand API layer and
· Database layer.
Hibernate make use of the
database and configuration data to provide
persistence services (and persistent
objects to the application.
It includes several objects:
of Hibernate Architecture:
Apart from the objects, hibernate
framework also use existing Java API such as:
JDBC (Java Database Connectivity)
JTA (Java Transaction API)
JNDI (Java Naming Directory Interface)
For working with Hibernate
application we must know the elements involved in Hibernate architecture:
Session factory: This
object is the factory of sessions and client of ConnectionProvider. It holds second level cache (optional) of data.
The org.hibernate. SessionFactory
interface provide factory method to get the object of Session.
Session: This object
provides an interface between the application and data stored in the database.
It is a short-lived object and wraps the JDBC connection. It is factory of Transaction,
Query and Criteria. It holds a first-level cache (mandatory) of data. The
org.hibernate.Session interface provides methods to insert, update and delete
the object. It also provides factory methods for Transaction, Query and
object specifies the atomic unit of work. It is optional. The
org.hibernate.Transaction interface provides methods for transaction
Connection Provide: It
is a factory of JDBC connection. It abstracts the application from
DriverManager or Datasource. It is optional
is a factory of Transaction. (It is optional)