Hibernate Features
1. Lightweight
- Hibernate is a lightweight framework as it does not contains additional functionalities; it uses only those functionalities required for object-relational mapping.
- It is a lightweight framework because it uses persistent classes for data transfer between java application and databases.
2. Open Source
- Hibernate is open-source software that means it is available for everyone without any cost. Its source code is made available so that anyone can use and develop applications using hibernate.
- It can be downloaded from its official website, hibernate.org. The latest version a user can download is Hibernate 5.4.
3. ORM (Object Relation Mapping)
- Hibernate is an ORM tool which helps in the interaction between the java classes and relational database.
- It also solves the problem of data mismatch found in Java application and RDBMS.
4. High Performance
- Hibernate supports many different fetching techniques such as, caching, lazy initialization, and many more to achieve high performance.
5. HQL (Hibernate Query Language)
- Hibernate has its query language, i.e., HQL (Hibernate Query Language) which is independent of the database.
- HQL is an object-oriented language similar to SQL, but it works with the persistent object and its properties.
6. Caching
- Hibernate supports two levels of caching, first-level and second-level caching.
- Caching is the process of storing data into cache memory and improves the speed of data access.
7. Auto-Generation
- Hibernate provides a feature of automatic table generation. It means a programmer need not worry about the query implementation, i.e., Hibernate does on its own.
8. Scalability
- Hibernate is highly scalable as it can be fit in any environment. Hibernate can be used for both small scale and large scale applications.
9. Lazy Loading
- Hibernate supports a new concept called lazy loading. Lazy loading concept retrieves the only necessary object for execution.
- It also improves the performance of an application.
10. Easy to learn
- Hibernate is easy to learn and implement. It is developer-friendly as it takes care of the changes made to the database automatically, so it reduces the developer’s work.
11. Database Independent
- Hibernate is database-independent as it provides ‘Database Dialect’ so we need not write SQL queries.
- It supports many databases such as Oracle, MySql, Sybase, etc.