


Hibernate consistently offers superior performance over straight JDBC code, both in terms of developer productivity and runtime performance. Hibernate requires no special database tables or fields and generates much of the SQL at system initialization time instead of at runtime. Support Performance - Hibernate supports lazy initialization, numerous fetching strategies and optimistic locking with automatic versioning and time stamping.Hibernate requires no interfaces or base classes for persistent classes and enables any class or data structure to be persistent. Idiomatic persistence - Hibernate enables you to develop persistent classes following natural Object-oriented idioms including inheritance, polymorphism, association, composition, and the Java collections framework.

As such, it can be easily used in any environment supporting JPA including Java SE applications, Java EE application servers, Enterprise OSGi containers, etc.
