我需要使用2个或更多个基础的hibernate。由于这些基表具有相同的表,我想在使用重复的相同对象副表时将没有问题。因此,我想知道如何在HibernateUtil上建立连接,使用不同的文件hibernate.cfg.xml,但具有相同的映射属性。
我想它是这样的:
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
但我不知道如何配置其他文件。
答案 0 :(得分:0)
事情是拥有2个不同的会话工厂提供程序,每个提供程序配置有相应的数据库。
在下面的示例中,HibernateUtilDb1
将使用hibernate-db1.cfg.xml
中的配置,HibernateUtilDb2
将使用hibernate-db2.cfg.xml
。
public class HibernateUtilDb1 {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
return new Configuration().configure("hibernate-db1.cfg.xml").buildSessionFactory();
}
catch (Throwable ex) { ...}
}
...
和
public class HibernateUtilDb2 {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
return new Configuration().configure("hibernate-db2.cfg.xml").buildSessionFactory();
}
catch (Throwable ex) { ...}
}
...