Hibernate有多个dataBase

时间:2014-03-24 17:53:40

标签: java hibernate

我需要使用2个或更多个基础的hibernate。由于这些基表具有相同的表,我想在使用重复的相同对象副表时将没有问题。因此,我想知道如何在HibernateUtil上建立连接,使用不同的文件hibernate.cfg.xml,但具有相同的映射属性。

我想它是这样的:

   sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();

但我不知道如何配置其他文件。

1 个答案:

答案 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) { ...}
    }
...