Thursday, 16 February 2012

What should SessionFactory be placed so that it can be easily accessed? | Java Hibernate

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.

What does hibernate.properties file consist of? | Java Hibernate

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 

What is meant by Method chaining? | Java Hibernate

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() 
    .addResource("myinstance/MyConfig.hbm.xml")
    .setProperties( System.getProperties() )
    .buildSessionFactory(); 

What do you create a SessionFactory? | Java Hibernate

Configuration cfg = new Configuration();
cfg.addResource("myinstance/MyConfig.hbm.xml");
cfg.setProperties( System.getProperties() );
SessionFactory sessions = cfg.buildSessionFactory(); 
First, we need to create an instance of Configuration and use that instance to refer to the location of the configuration file. After configuring this instance is used to create the SessionFactory by calling the method buildSessionFactory(). 

What is the file extension you use for hibernate mapping file? | Java Hibernate

The name of the file should be like this : filename.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. 

What are different environments to configure hibernate? | Java Hibernate

There are mainly two types of environments in which the configuration of hibernate application differs. 
i. 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.
ii. 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. 

What are the Extension interfaces that are there in hibernate? | Java 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