Open Source
Hibernate
Hibernate is the leading framework for persisting Java objects in relational database management systems (RDBMS) such as Oracle, SQL Server, MySQL, and PostgreSQL. Part of the JBoss JEMS middleware product suite, Hibernate dramatically reduces the amount of data access code required in a typical Java application. By mapping Java objects and properties via external configuration files or Java 5 annotations, Hibernate handles the generation of sophisticated SQL required for querying or updating tables in the RDBMS. Hibernate exposes a straightforward API and contains built in support for numerous databases via JDBC.
Object-Relational mapping can become extremely complex as object graphs mature. Hibernate handles these challenges by supporting multiple forms of inheritance, flexible collection mapping, and a highly sophisticated object query language. In addition, Hibernate is highly configurable with multiple fetching strategies, extensive caching, and full transaction support. Perhaps most importantly, Hibernate introduces a layer of abstraction between application code and data access code that reduces the coupling to specific RDBMS implementations.
Initially, object-relational mapping solutions can be difficult to embrace, especially when legacy database schemas are involved. However, Hibernate provides tremendous flexibility for accomodating existing schemas regardless of the specific RDBMS.
More information is available at www.hibernate.org.
