Search code examples
javahibernatenhibernate-configuration

What is the use of session-factory name property in hibernate-configuration file


In hibernate-cfg.xml file, as per my understanding

hibernate-configuration can have only one session-factory and one or zero security tags

if we configure multiple session-factory then we should get error

"The content of element type "hibernate-configuration" must match "(session-factory,security?)

So anyone tell me

  1. What is the use of the name property in session-factory tag in hibernate.cfg.xml file

    <session-factory name="">
    
  2. In which scenario we can use it?


Solution

  • Assume that, you must connect to two different databases in your project, so you've two data sources and two session factories. So their names help you to manage them (session factories) easily.

    Multiple datasource, Multiple session factories

    Sample: inject two session factories from two independent data sources.

    @Component
    public class TestConfig {
    
    @Autowired
    @Qualifier(value="firstSessionFactory")
    private SessionFactory sessionFactory;
    
    @Autowired
    @Qualifier(value="secondSessionFactory")
    private SessionFactory secondDBSessionFactory;
    
    //...
    
    }