Hibernate ORM enables developers to more easily write applications whose data outlives the application process. As an Object/Relational Mapping (ORM) framework, Hibernate is concerned with data persistence as it applies to relational databases (via JDBC).
Unfamiliar with the notion of ORM? Read here.
In addition to its own “native” API, Hibernate is also an implementation of the Java Persistence API (JPA) specification. As such, it can be easily used in any environment supporting JPA including Java SE applications, Java EE application servers, Enterprise OSGi containers, etc.
Hibernate enables you to develop persistent classes following natural Object-oriented idioms including inheritance, polymorphism, association, composition, and the Java collections framework. Hibernate requires no interfaces or base classes for persistent classes and enables any class or data structure to be persistent.
Hibernate supports lazy initialization, numerous fetching strategies and optimistic locking with automatic versioning and time stamping. Hibernate requires no special database tables or fields and generates much of the SQL at system initialization time instead of at runtime.
Hibernate consistently offers superior performance over straight JDBC code, both in terms of developer productivity and runtime performance.
Hibernate was designed to work in an application server cluster and deliver a highly scalable architecture. Hibernate scales well in any environment: Use it to drive your in-house Intranet that serves hundreds of users or for mission-critical applications that serve hundreds of thousands.
Hibernate is well known for its excellent stability and quality, proven by the acceptance and use by tens of thousands of Java developers.
Hibernate is highly configurable and extensible.
Guides and such
Getting Started Guide A quickstart-style guide with tutorials. See also the Obtaining Hibernate section discussing the Hibernate artifacts and how to obtain them.
Migration Guide Migration guide covering migration to 5.3 from the previous version
User Guide Guide covering most user facing concepts and APIs of Hibernate
Integrations GuideGuide covering topics of interest for developers looking to develop integrations with Hibernate.
Hibernate JavaDocThe Hibernate JavaDocsWildFly, updating inGuide to update WildFly 11 to use the latest version of Hibernate ORM 5.3JPA 2.2 JavaDocThe JPA (2.2) JavaDocsFAQThe FAQJBoss-hosted wikiWiki (older content) hosted at JBoss.orgGitHub-hosted wikiWiki hosted at GitHub
Brett did a few interesting presentations available on Slideshare:
- Gentle introduction on ORMs and JPA
- Hibernate ORM: tips, tricks and performance techniques
- Not Just ORM: Powerful Hibernate ORM Features and Capabilities
If you are interested in Hibernate Performance Tuning, check out Vlad’s presentation: