Monday, 2 February 2015

hibernate part5 interview questions and answers for 3 years experience (Part5)

41. What is the difference between sorted and ordered collection in hibernate?
Sorted Collection:
The sorted collection is a collection that is sorted using the Java collections framework. The sorting is done in the memory of JVM that is running hibernate, soon after reading the data from the database using Java Comparator The less the collection the more the efficient of sorting
Ordered Collection:
The order collections will also sorts a collection by using the order by clause for the results fetched.
The more the collection, the more efficient of sorting.

41. Explain the advantages and disadvantages of detached objects.
Advantages:
Detached objects passing can be done across layers upto the presentation layer without using Data Transfer Objects.
At the time of using long transactions by the user which needs long think-time, it is suggested to split these transactions into some transactions. The detached objects get modified apart from the transaction scope which then can be re-attached to a new transaction.
Disadvantages:
The usage of detached objects are cumbersome and cryptic. It is suggested not to be cluttered with the session, if possible.
It is recommended to use DataTransferObjects and DomainObjects that is used to maintain separation between the user interfaces and the Service.

42. What is Hibernate Query Language (HQL)?
Hibernate Query Language is designed for data management using Hibernate technology. It is completely object oriented and hence has notions like inheritance, polymorphism and abstraction. The queries are case-sensitive. This has an exception for Java classes and properties. The query operations are through objects. HQL acts as a bridge between Objects and RDBMS.

43. Explain the role of Session interface in Hibernate.
In hibernate, the Session interface wraps a JDBC connection, holds a mandatory (first-level) cache of persistent objects, used when navigating the object graph or looking up objects by identifier and is a factory for Transaction
Session session = sessionFactory.openSession();
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.

44. State the role of SessionFactory interface plays in Hibernate.
An application obtains Session instances from a SessionFactory which is typically single for the whole application created during its 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();

45. What is the difference between merge and update?
update () : When the session does not contain an persistent instance with the same identifier, and if it is sure use update for the data persistence in hibernate.
merge (): Irrespective of the state of a session, if there is a need to save the modifications at any given time, use merge().

46. What is the advantage of Hibernate over jdbc?
The advantages of Hibernate over JDBC are:
Hibernate code will work well for all databases, for ex: Oracle,MySQL, etc. where as JDBC is database specific.
No knowledge of SQL is needed because Hibernate is a set of objects and a table is treated as an object, where as to work with JDBC, one need to know SQL.
Query tuning is not required in Hibernate. The query tuning is automatic in hibernate by using criteria queries, and the result of performance is at its best. Where as in JDBC the query tuning is to be done by the database authors.
With the support of cache of hibernate, the data can be placed in the cache for better performance. Where as in JDBC the java cache is to be implemented.

47. Why hibernate is advantageous over Entity Beans & JDBC?
An entity bean always works under the EJB container, which allows reusing of the object external to the container. An object can not be detached in entity beans and in hibernate detached objects are supported.
Hibernate is not database dependent where as JDBC is database dependent. Query tuning is not needed for hibernate as JDBC is needed. Data can be placed in multiple cache which is supported by hibernate, whereas in JDBC the cache is to be implemented.

48. Explain the main difference between Entity Beans and Hibernate.
Entity beans are to be implemented by containers, classes, descriptors. Hibernate is just a tool that quickly persist the object tree to a class hierarchy in a database and without using a single SQL statement. The inheritance and polymorphism is quite simply implemented in hibernate which is out of the box of EJB and a big drawback.

49. Explain the difference between hibernate and Spring.
Hibernate is an ORM tool for data persistency. Spring is a framework for enterprise applications. Spring supports hibernate and provides the different classes which are templates that contains the common code.

50.Explain the general flow of Hibernate communication with RDBMS.
The general flow of Hibernate communication with RDBMS is :
The Hibernate configuration is to be loaded and creation of configuration object is done. The mapping of all hbm files will be performed automatically.
Creation of session factory from the configuration object.
Obtain a session from the session factory.
Creation of HQL Query
Execution of the query in order to get the list of containing java objects.
More Questions & Answers :-
Part1  Part2  Part3  Part4  Part5

No comments:

Post a comment