Hibernate Interview Questions & Answers for Freshers and Experienced
Hibernate interview questions with detailed answers on ORM, mappings, caching, HQL, and performance tuning for both freshers and experienced Java developers.
Top Hibernate Interview Questions for Freshers and Experienced Developers
Master Hibernate concepts with practical interview questions covering ORM fundamentals, entity relationships, caching strategies, and real-world Hibernate usage in enterprise applications.
35 Questions2 PagesEasy · Medium · HardPage 1 of 2
1
What is Hibernate?
Answer
Hibernate which is an implementation of JPA(Java Persistence API), is an ORM(Object Relational Mapping) tool which maps database tables with Java Objects and then provides various API’s to perform different types of operations on the data tables.
Did you know it?
2
Difference between JPA and Hibernate?
Answer
JPA is a specification for accessing , persisting and managing the data between java objects and the relational database. As the definition says, its API , it is only the specification. There is no implementation for the APIs.JPA is just the guidelines to implement the ORM and there is no underlying code for implementation.Whereas, Hibernate is the actual implementation of JPA guidelines.
Did you know it?
3
What is EntityManager?
Answer
EntityManager is an interface used to implement the persistence property to access entities in an application's persistent context.It provides the following 2 tpes of interfaces. 1.2. Application-managed Entitymanager
Did you know it?
4
What are the different approached to obtain entiryManager instance in Hibernate?
Answer
1. Using the container injection 2. Using the EntityManagerFactory interface 3. Looking up the EntityManager through JNDI.
Did you know it?
5
How do we create session factory in hibernate?
Answer
To create a session factory in hibernate, an object of configuration is created first which refers to the path of configuration file and then for that configuration, session factory is created as given in the example below:
What is the significance of insertable and updatable property in column definition in hibernate?
Answer
Insertable and updatable parameter control the behaviour of the persistent provider. If the insertable parameter is set to false, then the specified field or property is not included in the insert statement.
If the updatable parameter is set to false, then the field or property of an entity can't be updated in the DB. @Column(name = "CUST_ID", insertable = "false", updatable = "false")
Did you know it?
7
What is the behaviour of @Enumerated annotation in hibernate?
Answer
@Enumerated indicates that the field's persistent property should be stored in the form of an Enumeration. The possible values of EnumType can be ORDINAL or STRING. @Enumerated(EnumType.ORDINAL) - Ordinal returns its posiion in its enum declaration, lke 0, 1, 2 @Enumerated(EnumType.STRING) - String value of the enum is saved in the DB.
Did you know it?
8
What is the behaviour of @Temporal annotation in hibernate?
Answer
The DATE, TIME, TIMESTAMP types can be used to map a temporal type. @Temporal(TemporalType.DATE)
potected Date createdDate;
If no value is specified for the TemporalType parameter of the @Temporal annotations, the TIMESAMP i selected as default value.
Did you know it?
9
What’s HQL in Hibernate?
Answer
HQL is the query language used in Hibernate which is an extension of SQL. HQL is very efficient, simple and flexible query language to do various type of operations on relational database without writing complex database queries. We write HQL based on our entity model classes and their relationship.
Did you know it?
10
What are the benefits of using Hibernate template?
Answer
Following are some key benefits of using Hibernate template: 1. Session closing is automated. 2. Interaction with hibernate session is simplified. 3. Exception handling is automated.
Did you know it?
11
How can we see hibernate generated SQL on console?
Answer
We need to add following in hibernate configuration file to enable viewing SQL on the console for debugging purposes: <property name=”show_sql”>true</property>
Did you know it?
12
What the benefits are of hibernate over JDBC?
Answer
1.Hibernate can be used seamlessly with any type of database as its database independent while in case of JDBC, developer has to write database specific queries. 2.Using hibernate, developer doesn’t need to be an expert of writing complex queries as HQL simplifies query writing process while in case of JDBC, its job of developer to write and tune queries. 3.In case of hibernate, there is no need to create connection pools as hibernate does all connection handling automatically while in case of JDBC, connection pools need to be created.
Did you know it?
13
What’s the usage of callback interfaces in hibernate?
Answer
These interfaces are used in the application to receive a notification when some object events occur. Like when an object is loaded, saved or deleted. There is no need to implement callbacks in hibernate applications, but they're useful for implementing certain kinds of generic functionality.
Did you know it?
14
How can we reattach any detached objects in Hibernate?
Answer
Objects which have been detached and are no longer associated with any persistent entities can be reattached by calling session.merge() method of session class.
Did you know it?
15
What are different ways to disable hibernate second level cache?
Answer
Hibernate second level cache can be disabled using any of the following ways: 1.By setting use_second_level_cache as false. 2.By using CACHEMODE.IGNORE 3.Using cache provider as org.hibernate.cache.NoCacheProvider
Did you know it?
16
What are the collection types in Hibernate?
Answer
There are five collection types in hibernate used for one-to-many relationship mappings. Bag Set List Array Map
Did you know it?
17
The difference between sorted and ordered collection in Hibernate?
Answer
The main difference between sorted and ordered collection is that sorted collection sort the data in JVM's heap memory using Java's collection framework sorting methods while ordered collection is sorted using order by clause in the database itself. A sorted collection is more suited for small dataset but for a large dataset, it's better to use ordered collection to avoid OutOfMemoryError in Java application.
Did you know it?
18
what are the different entiry states in hibernate?
Answer
There are four entity states defined in hibernate: New (transient): an entity is new if it has just been instantiated using the new operator, and it is not associated with a persistence context. It has no persistent representation in the database and no identifier value has been assigned. Managed (persistent): a managed entity instance is an instance with a persistent identity that is currently associated with a persistence context. Detached: the entity instance is an instance with a persistent identity that is no longer associated with a persistence context, usually because the persistence context was closed or the instance was evicted from the context. Removed: a removed entity instance is an instance with a persistent identity, associated with a persistence context, but scheduled for removal from the database.
Did you know it?
19
Which cache is used by Session Object in Hibernate? First level or second level cache?
Answer
A Session object uses the first-level cache.Second level cache is used at SessionFactory level.
Did you know it?
20
What is N+1 SELECT problem in Hibernate?
Answer
The N+1 SELECT problem is a result of lazy loading and load on demand fetching strategy. In this case, Hibernate ends up executing N+1 SQL queries to populate a collection of N elements. For example, if you have a List of N Items where each Item has a dependency on a collection of Bid object. Now if you want to find the highest bid for each item then Hibernate will fire 1 query to load all items and N subsequent queries to load Bid for each item. So in order to find the highest bid for each item your application end up firing N+1 queries.