Hibernate
is a tool for object-relational mapping (ORM) for the Java platform (and also
available for. NET with NHibernate name) that facilitates the mapping of
attributes between a base of traditional relational database and object model
application through declarative (XML) files or annotations in the beans of the
entities that establish these relationships.
Like all
tools of its kind, Hibernate seeks to solve the problem of the difference
between the two models of concurrent data in an application: used in computer
memory (OO) and used in databases (model relational). To achieve this allows
the developer detailing how your data model, what relationships exist and how
have. With this information Hibernate allows the application to manipulate data
in the database to operate on objects, with all the features of OOP. Hibernate
converts the data between the types used by Java and SQL defined. Hibernate
generates SQL statements and frees the developer from manual handling of data
resulting from the execution of those judgments, maintaining portability across
all database engines with a slight increase in run time.
Hibernate
is designed to be flexible in the table schema used to suit your application on
the basis of existing data. It also has the ability to create the database from
the information available.
Hibernate
offers a query language called HQL data (Hibernate Query Language), while an
API to programmatically build queries (known as "criteria").
Java
Hibernate for Java can be used in standalone applications or Java EE
applications using Hibernate Annotations component that implements the JPA
standard, which is part of this platform.