Hibernate Framework


Published on

We are into Staffing solutions from past 10 years with our clients (fortune 500) from USA, UK and Australia. We successfully placed thousands of students with best firms.

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Hibernate Framework

  1. 1. HIBERNATE “Hibernate” is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions. Hibernate is free software that is distributed under the GNU Lesser General Public License.  What is ORM? ORM stands for Object-Relational Mapping (ORM) is a programming technique for converting data between relational databases and object oriented programming languages such as Java, C# etc.  Java ORM Framework: There are several persistent frameworks and ORM options in Java. A persistent framework is an ORM service that stores and retrieves objects into a relational database. Enterprise JavaBeans Entity Beans Java Data Objects Castor TopLink Spring DAO etc..,  Hibernate Installation/Setup on Eclipse IDE You should download the latest production release of Hibernate from the Hibernate website at http://www.hibernate.org/ and unpack the archive after download. Create a new Java Project and enter Hibernate Application as project name. Create lib and src subdirectories in this project. Copy JAR files which are listed below, from hibernate distribution that you have downloaded to the lib directory of the “Hibernate Application” project. Under root directory of the hibernate distribution: hibernate3.jar Under lib/required directory of the hibernate distribution: antlr-2.7.6.jar commons-collections-3.1.jar dom4j-1.6.1.jar www.p2cinfotech.com +1-732-546-3607
  2. 2. HIBERNATE javassist-3.12.0.GA.jar jta-1.1.jar slf4j-api-1.6.1.jar Under lib/jpa directory of the hibernate distribution: hibernate-jpa-2.0-api-1.0.1.Final.jar Download slf4j-1.6.1.zip file from http://www.slf4j.org/download.html, unpack the archive and copy the slf4j-simple-1.6.1.jar file to lib directory of the “Hibernate Application” project. slf4j-simple-1.6.1.jar  Connecting To Database you will need the database driver JAR that Hibernate uses to connect to your database. I use Oracle Express Edition (Oracle XE) and it’s database driver jar is here on Windows: C:oraclexeapporacleproduct10.2.0serverjdbclibojdbc14.jar Copy this ojdbc14.jar to the lib directory of the “Hibernate Application” project. create a User library on Eclipse IDE. Then, I will add all JAR files in the Hibernate Applicationlib directory to this User library and add this User library to the project build path. Click Window–>Preferences on the top menu bar of Eclipse. Click Java–>Build Path–>User Libraries and click New button then enter “Hibernate” as the User library name. Select “Hibernate” User library that we just created and click Add JARS button. Select all JAR files in the lib folder of the “Hibernate Application” project and click Open button to add all JAR files to “Hibernate” User library. Now “Hibernate” User library is ready and we can add this User library to “Hibernate Application” project build path. Right click to “Hibernate Application” project and click Build Path–>Add Libraries Then, select “User Library” and click Next button. Finally, select “Hibernate” User library and click Finish button. You have successfully installed Hibernate on Eclipse IDE.  Hibernate caching: Caching is all about application performance optimization and it sits between your application and the database to avoid the number of database hits as many as possible to give a better performance for performance critical applications. Caching is important to Hibernate as well which utilizes a multilevel caching schemes. www.p2cinfotech.com +1-732-546-3607
  3. 3. HIBERNATE First-level cache: The first-level cache is the Session cache and is a mandatory cache through which all requests must pass. The Session object keeps an object under its own power before committing it to the database. If you issue multiple updates to an object, Hibernate tries to delay doing the update as long as possible to reduce the number of update SQL statements issued. If you close the session, all the objects being cached are lost and either persisted or updated in the database. Second-level cache: Second level cache is an optional cache and first-level cache will always be consulted before any attempt is made to locate an object in the second-level cache. The secondlevel cache can be configured on a per-class and per-collection basis and mainly responsible for caching objects across sessions. Any third-party cache can be used with Hibernate. An org.hibernate.cache.CacheProvider interface is provided, which must be implemented to provide Hibernate with a handle to the cache implementation. Query-level cache: Hibernate also implements a cache for query resultsets that integrates closely with the second-level cache. This is an optional feature and requires two additional physical cache regions that hold the cached query results and the timestamps when a table was last updated. This is only useful for queries that are run frequently with the same parameters. The Second Level Cache: Hibernate uses first-level cache by default and you have nothing to do to use first-level cache. Let's go straight to the optional second-level cache. Not all classes benefit from caching, so it's important to be able to disable the second-level cache. The Hibernate second-level cache is set up in two steps. First, you have to decide which concurrency strategy to use. After that, you configure cache expiration and physical cache attributes using the cache provider. Concurrency strategies: A concurrency strategy is a mediator which responsible for storing items of data in the cache and retrieving them from the cache. If you are going to enable a second-level cache, you will have to decide, for each persistent class and collection, which cache concurrency strategy to use.  Transactional: Use this strategy for read-mostly data where it is critical to prevent stale data in concurrent transactions,in the rare case of an update. www.p2cinfotech.com +1-732-546-3607
  4. 4. HIBERNATE    Read-write: Again use this strategy for read-mostly data where it is critical to prevent stale data in concurrent transactions,in the rare case of an update. Nonstrict-read-write: This strategy makes no guarantee of consistency between the cache and the database. Use this strategy if data hardly ever changes and a small likelihood of stale data is not of critical concern. Read-only: A concurrency strategy suitable for data which never changes. Use it for reference data only. If we are going to use second-level caching for our Employee class, let us add the mapping element required to tell Hibernate to cache Employee instances using read-write strategy. www.p2cinfotech.com +1-732-546-3607