HIBERNATE  |  Register  | 
      SEARCH: 
   
News 
Features 
Documentation 
   Related Projects 
   External Documentation 
Download 
Forum & Mailinglists 
Support 
JIRA Issue Tracking
Wiki Community Area


JBoss.org



middlegen

JIRA Issue Tracking




      
News > Introduction

Introduction

Hibernate is a suitable persistence mechanism for business objects of

  • swing or servlet based applications
  • J2EE applications using coarse-grained entity beans
  • J2EE applications using session beans but not entity beans
  • CORBA applications

So what Makes Hibernate Special?

  • True transparent persistence - Hibernate supports natural OO idiom; inheritance, polymorphism, composition and the Java collections framework
  • Support for ultra-fine-grained object models - a rich variety of mappings for collections and dependent objects
  • No build-time bytecode enhancement - so theres no extra code generation or bytecode processing steps in your build procedure
  • Extreme scalability - Hibernate is extremely performant and may be used in a cluster
  • The query language - Hibernate addresses both sides of the problem; not only how to get objects into the database, but also how to get them out again
  • Free / open source - Hibernate is licensed under the LGPL (Lesser GNU Public License)

For more info, see the About Hibernate FAQ.

Application Architectures

Hibernate is architecture-agnostic. Because Hibernate provides persistence as a service, rather than as a framework, it integrates seamlessly with varied application architectures. We will show two common (recommended) architectures incorporating Hibernate as a persistence layer. More detailed architectural diagrams may be found in the detailed documentation. continued...

Development Process

Hibernate is also process-agnositic. An XML mapping document decouples your Java object model from the underlying data model.continued...

Manifesto

Hibernate is designed to support the combination of J2EE and agile methodologies. If your development process fosters (and relies upon) rapid change, it is important to use technology that makes change inexpensive. When refactoring is expensive and hasslesome, your agile development process is more likely to produce entropy than malleable software. continued...

      

coWiki web collaboration