使用hibernate迁移数据库

时间:2016-11-07 18:23:30

标签: java mysql spring hibernate

我试图将数据从Firebird数据库迁移到MySQL。我有hibernate设置来创建初始数据库,现在我试图迁移数据。我最初的想法是设置第二个hibernate会话连接到另一个数据库,然后循环以加载和保存数据,但我没有得到数据。我想知道是否可以从一个会话加载数据并将其保存到另一个会话中。

        try (Session mySqlSession = mySqlSessionFactory.openSession(); Session firebirdSession = firebirdSessionFactory.openSession()) {
            mySqlSession.beginTransaction();
            firebirdSession.beginTransaction();

            mySqlSession.createSQLQuery("SET FOREIGN_KEY_CHECKS=0").executeUpdate();
            mySqlSession.getTransaction().commit();

            Criteria criteria = firebirdSession.createCriteria(databaseTable);
            for (Object record : criteria.list()) {
                mySqlSession.save(record);
                mySqlSession.flush();
            }
            mySqlSession.getTransaction().commit();

            mySqlSession.createSQLQuery("SET FOREIGN_KEY_CHECKS=1").executeUpdate();
            mySqlSession.getTransaction().commit();
        }

0 个答案:

没有答案