1. 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.
2. 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.
3. What are POJOs?
POJO stands for plain old java objects. These are just basic JavaBeans that have defined setter and getter methods for all the properties that are there in that bean. Besides they can also have some business logic related to that
4. What should SessionFactory be placed so that it can be easily accessed?
As far as it is compared to J2EE environment, if the SessionFactory is placed in JNDI then it can be easily accessed and shared between different threads and various components that are hibernate aware. You can set the SessionFactory to a JNDI by configuring a property hibernate.session_factory_name in the hibernate.properties file.
5. What does hibernate.properties file consist of?
This is a property file that should be placed in application class path. So when the Configuration object is created, hibernate is first initialized. At this moment the application will automatically detect and read this hibernate.properties file.
- hibernate.connection.datasource = java:/comp/env/jdbc/AuctionDB
- hibernate.transaction.factory_class =net.sf.hibernate.transaction.JTATransactionFactory
- hibernate.transaction.manager_lookup_class = net.sf.hibernate.transaction.JBossTransactionManagerLookup
- hibernate.dialect = net.sf.hibernate.dialect.PostgreSQLDialect
6. What is meant by Method chaining?
Method chaining is a programming technique that is supported by many hibernate interfaces. This is less readable when compared to actual java code. And it is not mandatory to use this format. Look how a SessionFactory is created when we use method chaining.
- SessionFactory sessions = new Configuration()
- .setProperties( System.getProperties() )
7. What do you create a SessionFactory?
- Configuration cfg = new Configuration();
- cfg.setProperties( System.getProperties() );
- SessionFactory sessions = cfg.buildSessionFactory();
8. What is the file extension you use for hibernate mapping file?
The name of the file should be like this : filenam.hbm.xml
The filename varies here. The extension of these files should be”.hbm.xml”.
This is just a convention and it’s not mandatory. But this is the best practice to follow this extension.
9. What are different environments to configure hibernate?
There are mainly two types of environments in which the configuration of hibernate application differs.
- Managed environment -In this kind of environment everything from database connections, transaction boundaries, security levels and all are defined. An example of this kind of environment is environment provided by application servers such as JBoss, Weblogic and WebSphere.
- Non-managed environment -This kind of environment provides a basic configuration template. Tomcat is one of the best examples that provide this kind of environment.
10. What are the Extension interfaces that are there in hibernate?
There are many extension interfaces provided by hibernate.
- ProxyFactory interface – used to create proxies
- ConnectionProvider interface -used for JDBC connection management
- TransactionFactory interface – Used for transaction management
- Transaction interface -Used for transaction management
- TransactionManagementLookup interface- Used in transaction management.
- Cahce interface -provides caching techniques and strategies
- CacheProvider interface -same as Cache interface
- ClassPersister interface – provides ORM strategies
- IdentifierGenerator interface – used for primary key generation
- Dialect abstract class – provides SQL support