Hibernate has following key characteristics:
- Object/Relational Mapping (ORM): Hibernate provides ORM capabilities to developers. So then can write code in Object model for connecting with data in Relational model.
- JPA Provider: Hibernate provides an excellent implementation of Java Persistence API (JPA) specification.
- Idiomatic persistence: Hibernate provides persistence based on natural Object-oriented idioms with full support for inheritance, polymorphism, association, composition, and the Java collections framework. It can work with any data for persistence.
- High Performance: Hibernate provides high level of performance supporting features like- lazy initialization, multiple fetching strategies, optimistic locking etc. Hibernate does not need its own database tables or fields. It can generate SQL at system initialization to provide better performance at runtime.
- Scalability: Hibernate works well in multi server clusters. It has built in scalability support. It can work well for small projects as well as for large business software.
- Reliable: Hibernate very reliable and stable framework. This is the reason for its worldwide acceptance and popularity among developer community.
- Extensible: Hibernate is quite generic in nature. It can be configured and extended as per the use case of application.