Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hibernate配置文件中会话工厂名称属性的用途是什么_Java_Hibernate_Nhibernate Configuration - Fatal编程技术网

Java hibernate配置文件中会话工厂名称属性的用途是什么

Java hibernate配置文件中会话工厂名称属性的用途是什么,java,hibernate,nhibernate-configuration,Java,Hibernate,Nhibernate Configuration,根据我的理解,在hibernate-cfg.xml文件中 hibernate配置只能有一个会话工厂和一个或零个安全标记 如果我们配置了多个会话工厂,那么我们将得到错误消息 “hibernate配置”元素类型的内容必须匹配(会话工厂、安全性? 有人告诉我吗 hibernate.cfg.xml文件中会话工厂标记中的name属性有什么用途 <session-factory name=""> <bean id="transactionManager1" class="org.spri

根据我的理解,在hibernate-cfg.xml文件中

hibernate配置只能有一个会话工厂和一个或零个安全标记

如果我们配置了多个会话工厂,那么我们将得到错误消息

“hibernate配置”元素类型的内容必须匹配(会话工厂、安全性?

有人告诉我吗

  • hibernate.cfg.xml文件中会话工厂标记中的name属性有什么用途

    <session-factory name="">
    
    <bean id="transactionManager1" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory1"/>
        <!-- ... -->
    </bean>
    
    <bean id="transactionManager2" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory2"/>
    
    
    
  • 在哪种情况下我们可以使用它

  • 您可以,尤其是当您有多个配置文件时,例如:

    更改cfg.xml文件中的名称

    <session-factory name="">
    
    <bean id="transactionManager1" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory1"/>
        <!-- ... -->
    </bean>
    
    <bean id="transactionManager2" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory2"/>
    
    
    

    假设您必须连接到项目中的两个不同数据库,因此您有两个数据源和两个会话工厂。因此,它们的名称可以帮助您轻松地管理它们(会话工厂)

    示例:从两个独立的数据注入两个会话工厂 来源


    当我们必须连接多个数据库时,我们必须创建多个数据源,我们必须为这些数据源创建多个会话工厂

    @Component
    public class Config {
    
    @Autowired
    @Qualifier(value="FirstSessionFactory")
    private SessionFactory firstSessionDB;
    
    @Autowired
    @Qualifier(value="SecondSessionFactory")
    private SessionFactory secondSessionDB;
    // for the third database
    @Autowired
    @Qualifier(value="thirdSessionFactory")
    private SessionFactory thirdSessionDB;
    
    }
    

    您是否有多个数据库与同一应用程序连接?