Hibernate supports following strategies to support Inheritance mappings in database: Single Table or Table per class-hierarchy (InheritanceType.SINGLE_TABLE) Joined or Table per subclass (InheritanceType.JOINED) Table per class (InheritanceType.TABLE_PER_CLASS) Single Table strategy(aka Table per class-hierarchy) In this strategy, a single table is created for each class hierarchy. So, if we have a base class “Book” and …
Continue reading Hibernate Inheritance StrategiesHibernate
In Hibernate, we can cache frequently used query results using Query cache. To enable Query cache, enable the “use_query_cache” property in hibernate.cfg.xml file : <property name="hibernate.cache.use_query_cache">true</property> To use Query cache, we also need to set the cacheable property on the Query to true by invoking the Query.setCacheable() method. Hibernate Query Cache Example In the following …
Continue reading Hibernate Query CacheSecond Level Cache or L2 Cache The Second Level Cache in Hibernate is optional and is external to Hibernate. This cache is globally available via the SessionFactory class to the entire application. Hibernate comes with built-in support for caching libraries Ehcache and Infispan. However, any Cache provider can implement the org.hibernate.cache.spi.CacheProvider interface provided and provide …
Continue reading Hibernate Caching : Second Level CacheHibernate provides multilevel caching framework : First Level Cache (Also called L1 cache or Session cache) Second Level Cache (L2 Cache) Query Cache First Level Cache / L1 Cache / Session Cache The First level cache(L1 cache) is the Session cache through which all the db requests must pass. The L1 cache ensures that …
Continue reading Hibernate Caching : First Level CacheHQL Hibernate has its own query language called HQL(Hibernate Query Language). HQL is object oriented. In HQL, we use the class name in place of table name and property name in place of column name. HQL queries are internally converted to SQL by Hibernate. FROM clause Using just the From clause fetches all the …
Continue reading Selecting data from database using HQL