Frameworks| Hibernate| Struts| JSF| JavaFX| Ajax| Spring| DOJO| JDO| iBatis| Questions?

 

 

 

 

 

 

 

 

 

 

 

 

 

Search Tutorials:
 

Software Solutions and Services
 

 
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification
  Java Applet
Questions
Comments
 
Hibernate Architecture 
 

In this lesson you will learn the architecture of Hibernate. The following diagram describes the high level architecture of hibernate.

 

Hibernate Architecture

                         

In this lesson you will learn the architecture of Hibernate.  The following diagram describes the high level architecture of hibernate:

 

 

 

 

 

The above diagram shows that Hibernate is using the database and configuration data to provide persistence services (and persistent objects) to the application.

To use Hibernate, it is required to create Java classes that represents the table in the database and then map the instance variable in the class with the columns in the database. Then Hibernate can be used to perform operations on the database like select, insert, update and delete the records in the table. Hibernate automatically creates the query to perform these operations.

Hibernate architecture has three main components:

  • Connection Management
    Hibernate Connection management service provide efficient management of the database connections. Database connection is the most expensive part of interacting with the database as it requires a lot of resources of open and close the database connection.
      

  • Transaction management:
    Transaction management service provide the ability to the user to execute more than one database statements at a time.
      

  • Object relational mapping:
    Object relational mapping is technique of mapping the data representation from an object model to a relational data model. This part of the hibernate is used to select, insert, update and delete the records form the underlying table. When we pass an object to a Session.save() method, Hibernate reads the state of the variables of that object and executes the necessary query.

Hibernate is very good tool as far as object relational mapping is concern, but in terms of connection management and transaction management, it is lacking in performance and capabilities. So usually hibernate is being used with other connection management and transaction management tools. For example apache DBCP is used for connection pooling with the Hibernate.

Hibernate provides a lot of flexibility in use. It is called "Lite" architecture when we only uses the object relational mapping component. While in "Full Cream" architecture all the three component Object Relational mapping, Connection Management and Transaction Management) are used.

 

                         

» View all related tutorials
Related Tags: sql c hibernate api com class ant comparison import io property method sed const operators expression operator port criteria name

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

29 comments so far (
post your own) View All Comments Latest 10 Comments:

conten is fabulous and fully explained.I really impressed by this content and i got a very good knowlege from these topic.

Posted by Lucky uthra on Monday, 12.22.08 @ 05:31am | #83042

Hi,
This tutorial is easy to understand. It is a very good tutorial for beginners.

Could you please give a reason, why hibernate is lacking performance in transaction management and connection management.

Thanks in advance....

Posted by sheeva on Thursday, 10.2.08 @ 17:11pm | #80843

wat is different between struts and hibernate?

Posted by siva on Monday, 09.15.08 @ 19:01pm | #79608

Hi
Even iam getting the same error.Can you please email me if u know the solution for it now

Thanks in advance

Vineela

Posted by Vineela on Wednesday, 09.10.08 @ 00:53am | #78369

I think you are missing something in the configuration. Where is the Database name?

<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1605</property>

Posted by admirm on Thursday, 08.14.08 @ 20:10pm | #72843

I want know if any one can help me about create my first application hibernate and eclipse

Posted by mustapha on Wednesday, 03.26.08 @ 02:14am | #54347

best for...bigginers.....but i need much more examples........cn u help?

Posted by sincy raj on Thursday, 01.17.08 @ 09:30am | #45404

I am desparetly looking example of hibernate.

Posted by Aditya on Friday, 12.28.07 @ 13:28pm | #44034

I am running into the following error when i try to run your example.Can anyone help me out?

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:120)
at FirstExample.main(FirstExample.java:18)

Posted by amar on Saturday, 12.22.07 @ 02:08am | #43293

hai this is srinu this is very useful to beginners.

Posted by srinu on Friday, 12.7.07 @ 15:13pm | #41525

Training Courses
Tell A Friend
Your Friend Name
Website Designing Services
 
Web Designing Packages From $150!
 
Website Designing Company Web Hosting
 
Website Designing Quotation
 
Search Tutorials:

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Indian Software Development Company | iPhone Development Company in India | Flex Development Company in India | Java Training Delhi | Java Training at Noida |

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.