Introduction to Hibernate Framework

Hibernate is a framework that help you easily map Java classes to database tables (and Java fields to DB columns, Java data types to DB data types etc.), without writing the usual create, select, update and delete sql queries.

 

Object Relational Mapping (ORM)

Hibernate is an ORM framework. Hibernate help you map your object model to a relational model. 

In object model, objects are the main components of the system, and they are related to other classes via inheritance relationships. An object has an identity through its state, and behaviour. 

A relational model defines the structure of data. In relational model, data is organized in the form of tables, and different tables are associated by means of referential integrity constraints. 

Compared to traditional techniques of exchange between an object-oriented language and a relational database, ORM often reduces the amount of code that needs to be written. 

 

Hibernate and Java Persistence API

The Java Persistence API (JPA) is a Java application programming interface specification that describes the management of relational data, especially persistance.

Hibernate also implements Java Persistence API

By using JPA, it makes possible for us to change hibernate with any other framework that implements JPA easily in future with minimal changes. 

 

Overview of important features of Hibernate framework

  1. The mappings between java classes and SQL constructs can be configured in xml files or using annotations.

  2. Hibernate generates the required SQL calls and also attempts to relieve the developer from manual result set handling and object conversion.

  3. Hibernate also keep the application portable to all supported SQL databases. 

  4. Hibernate also provides explicit data query and retrieval facilities, if needed. 

  5. Hibernate also has othe components like Hibernate Search, Hibernate Validator, and Hibernate OGM1 (No SQL).

Tags: 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) ArrayLists (1) Arrays (2) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (53) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (8) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (12) Java Programmer 2 (8) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) resources (1) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)