Hibernate supports some advanced features, such as caching, inheritance, versioning, maintaining a history of objects, interceptor, batch processing, and many more.
Here, you will learn the first-level, second-level, and query caches, in detail and with an example, to see how to cache particular objects and how caching works. Apart from this, you will also learn a useful feature of hibernate called inheritance, which hibernate provides as a facility to be applied on the database side. You will learn three major inheritance types in this chapter. We will also will look into versioning, maintaining a history of data or of an object for a sensitive application, and at last, how to intercept hibernate's processing and how to perform batch processing using hibernate.