休眠配置文件中会话工厂名称 属性 的用途是什么
What is the use of session-factory name property in hibernate-configuration file
在 hibernate-cfg.xml 文件中,根据我的理解
hibernate-configuration can have only one session-factory and one or zero security tags
如果我们配置多个会话工厂那么我们应该得到错误
"The content of element type "hibernate-configuration" must match "(session-factory,security?)
所以有人告诉我
hibernate中session-factory标签中的名字属性有什么用cfg.xml文件
<session-factory name="">
我们可以在什么场景下使用?
您可以reference session factory by name,尤其是如果您有多个配置文件,例如:
change the names inside your cfg.xml file
<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"/>
假设您必须连接到项目中的两个不同数据库,因此您有两个数据源和两个会话工厂。所以他们的名字可以帮助您轻松管理他们(会话工厂)。
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;
//...
}
当我们必须连接多个数据库时,我们必须为其创建多个数据源,我们已经创建了多个会话工厂
@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;
}
在 hibernate-cfg.xml 文件中,根据我的理解
hibernate-configuration can have only one session-factory and one or zero security tags
如果我们配置多个会话工厂那么我们应该得到错误
"The content of element type "hibernate-configuration" must match "(session-factory,security?)
所以有人告诉我
hibernate中session-factory标签中的名字属性有什么用cfg.xml文件
<session-factory name="">
我们可以在什么场景下使用?
您可以reference session factory by name,尤其是如果您有多个配置文件,例如:
change the names inside your cfg.xml file
<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"/>
假设您必须连接到项目中的两个不同数据库,因此您有两个数据源和两个会话工厂。所以他们的名字可以帮助您轻松管理他们(会话工厂)。
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;
//...
}
当我们必须连接多个数据库时,我们必须为其创建多个数据源,我们已经创建了多个会话工厂
@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;
}