Hibernate

  Home  Java Programing  Hibernate


“Hibernate Interview Questions and Answers will guide us now that Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high_level object handling functions. Learn more about Hibernate bu this Hibernate Interview Questions with Answers guide”



52 Hibernate Questions And Answers

1⟩ What is a meant by medium object mapping?

The application is designed around an object model. The SQL code is generated at build time. And the associations between objects are supported by the persistence mechanism, and queries are specified using an object-oriented expression language. This is best suited for medium-sized applications with some complex transactions. Used when the mapping exceeds 25 different database products at a time.

 123 views

2⟩ What are the benefits of ORM and Hibernate?

There are many benefits from these. Out of which the following are the most important one.

Productivity : Hibernate reduces the burden of developer by providing much of the functionality and let the developer to concentrate on business logic.

Maintainability :As hibernate provides most of the functionality, the LOC for the application will be reduced and it is easy to maintain. By automated object/relational persistence it even reduces the LOC.

Performance : Hand-coded persistence provided greater performance than automated one. But this is not true all the times. But in hibernate, it provides more optimization that works all the time there by increasing the performance. If it is automated persistence then it still increases the performance.

Vendor independence : Irrespective of the different types of databases that are there, hibernate provides a much easier way to develop a cross platform application.

 143 views

3⟩ What is meant by full object mapping?

Full object mapping supports sophisticated object modeling: composition, inheritance, polymorphism and persistence. The persistence layer implements transparent persistence; persistent classes do not inherit any special base class or have to implement a special interface. Efficient fetching strategies and caching strategies are implemented transparently to the application.

 136 views

4⟩ Why do you need ORM tools like hibernate?

The main advantage of ORM like hibernate is that it shields developers from messy SQL. Apart from this, ORM provides following benefits:

► Improved productivity

* High-level object-oriented API

* Less Java code to write

* No SQL to write

► Improved performance

* Sophisticated caching

* Eager loading

► Improved maintainability

* A lot less code to write

► Improved portability

* ORM framework generates database-specific SQL for you

 127 views

5⟩ What is a meant by light object mapping?

The entities are represented as classes that are mapped manually to the relational tables. The code is hidden from the business logic using specific design patterns. This approach is successful for applications with a less number of entities, or applications with common, metadata-driven data models. This approach is most known to all.

 148 views

6⟩ What is a pure relational ORM?

The entire application, including the user interface, is designed around the relational model and SQL-based relational operations.

 170 views

8⟩ What does an ORM solution comprises of?

It should have an API for performing basic CRUD (Create, Read, Update, Delete) operations on objects of persistent classes Should have a language or an API for specifying queries that refer to the classes and the properties of classes An ability for specifying mapping metadata It should have a technique for ORM implementation to interact with transactional objects to perform dirty checking, lazy association fetching, and other optimization functions

 140 views

9⟩ What is ORM?

ORM stands for Object/Relational mapping. It is the programmed and translucent perseverance of objects in a Java application in to the tables of a relational database using the metadata that describes the mapping between the objects and the database. It works by transforming the data from one representation to another.

 139 views

10⟩ What is Hibernate?

Hibernate is a pure Java object-relational mapping (ORM) and persistence framework that allows you to map plain old Java objects to relational database tables using (XML) configuration files.Its purpose is to relieve the developer from a significant amount of relational data persistence-related programming tasks.

 135 views

11⟩ What is the general flow of Hibernate communication with RDBMS?

The general flow of Hibernate communication with RDBMS is :

* Load the Hibernate configuration file and create configuration object. It will automatically load all hbm mapping files

* Create session factory from configuration object

* Get one session from this session factory

* Create HQL Query

* Execute query to get list containing Java objects

 122 views

12⟩ What role does the SessionFactory interface play in Hibernate?

The application obtains Session instances from a SessionFactory. There is typically a single SessionFactory for the whole application—created during application initialization. The SessionFactory caches generate SQL statements and other mapping metadata that Hibernate uses at runtime. It also holds cached data that has been read in one unit of work and may be reused in a future unit of work

SessionFactory sessionFactory = configuration.buildSessionFactory();

 122 views

13⟩ What role does the Session interface play in Hibernate?

The Session interface is the primary interface used by Hibernate applications. It is a single-threaded, short-lived object representing a conversation between the application and the persistent store. It allows you to create query objects to retrieve persistent objects.

Session session = sessionFactory.openSession();

Session interface role:

* Wraps a JDBC connection

* Factory for Transaction

* Holds a mandatory (first-level) cache of persistent objects, used when navigating the object graph or looking up objects by identifier

 121 views

15⟩ What is Hibernate Query Language (HQL)?

Hibernate offers a query language that embodies a very powerful and flexible mechanism to query, store, update, and retrieve objects from a database. This language, the Hibernate query Language (HQL), is an object-oriented extension to SQL.

 177 views

16⟩ What are the Core interfaces are of Hibernate framework?

People who read this also read:

The five core interfaces are used in just about every Hibernate application. Using these interfaces, you can store and retrieve persistent objects and control transactions.

* Session interface

* SessionFactory interface

* Configuration interface

* Transaction interface

* Query and Criteria interfaces

 137 views

18⟩ What is HQL?

HQL stands for Hibernate Query Language. Hibernate allows the user to express queries in its own portable SQL extension and this is called as HQL. It also allows the user to express in native SQL.

 140 views

19⟩ What is object/relational mapping metadata?

ORM tools require a metadata format for the application to specify the mapping between classes and tables, properties and columns, associations and foreign keys, Java types and SQL types. This information is called the object/relational mapping metadata. It defines the transformation between the different data type systems and relationship representations.

 140 views

20⟩ How do you map Java Objects with Database tables?

* First we need to write Java domain objects (beans with setter and getter). The variables should be same as database columns.

* Write hbm.xml, where we map java class to table and database columns to Java class variables.

Example :

<hibernate-mapping>

<class name=”com.test.User” table=”user”>

<property column=”USER_NAME” length=”255″

name=”userName” not-null=”true” type=”java.lang.String”/>

<property column=”USER_PASSWORD” length=”255″

name=”userPassword” not-null=”true” type=”java.lang.String”/>

</class>

</hibernate-mapping>

 127 views