Hibernate Tutorial «Prev  Next»

Hibernate Introduction

Hibernate is an open source object/relational mapping tool for Java. Hibernate lets you develop persistent classes following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework.
Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities and can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC.
Hibernates goal is to relieve the developer from 95 percent of common data persistence related programming tasks.
Hibernate is Free Software. The LGPL license is sufficiently flexible to allow the use of Hibernate in both open source and commercial projects (see the LicenseFAQ for details). Hibernate is available for download at http://www.hibernate.org. This tutorial aims to provide insight into Hibernate version 3.0RC and its usage
Some of the main features of hibernate are listed below and we have tried to explain some of them in detail later in this tutorial.


  Start) Transparentpersistence without byte code processing
    Transparent persistence
    JavaBeans style properties are persisted
    No build-time source or byte code generation /processing
    Support for extensive subset of Java collectionsAPI
    Collection instance management
    Extensible type system
    Constraint transparency
    Automatic Dirty Checking
    Detached object support
  Object-oriented querylanguage
    Powerful object-oriented query language
    Full support for polymorphic queries
    New Criteria queries
    Native SQL queries
  Object /Relational mappings
    Three different O/R mapping strategies
    Multiple-objects tosingle-row mapping
    Polymorphic associations
    Bidirectional associations
    Association filtering
    Collections of basic types
    Indexed collections
    Composite Collection Elements
    Lifecycle objects
  Automaticprimary key generation
    Multiple synthetic key generation strategies
    Support for application assigned identifiers
    Support for composite keys
  Object/Relational mappingdefinition
    XML mapping documents
    Human-readable format
    XDoclet support
  HDLCA (Hibernate Dual-Layer CacheArchitecture)
    Thread safeness
    Non-blocking data access
    Session level cache
    Optional second-level cache
    Optional query cache
    Works well with others
  High performance
    Lazy initialization
    Outer join fetching
    Batch fetching
    Support for optimistic locking withversioning/timestamping
    Highly scalable architecture
    High performance
    No "special" database tables
    SQL generated at system initialization time
    (Optional) Internal connection pooling andPreparedStatement caching
  J2EE integration
    JMX support
    Integration with J2EE architecture (optional)
    New JCA support (Finish)