Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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_Mysql_Spring_Hibernate - Fatal编程技术网

Java 用hibernate迁移数据库

Java 用hibernate迁移数据库,java,mysql,spring,hibernate,Java,Mysql,Spring,Hibernate,我正在尝试将数据从Firebird数据库迁移到MySQL。我已经有了hibernate设置来创建初始数据库,现在我正在尝试通过hibernate迁移数据。我最初的想法是设置第二个hibernate会话,连接到另一个数据库,然后循环加载和保存数据,但我没有得到任何数据。我想知道是否有可能从一个会话加载数据并保存到另一个会话中 try (Session mySqlSession = mySqlSessionFactory.openSession(); Session firebird

我正在尝试将数据从Firebird数据库迁移到MySQL。我已经有了hibernate设置来创建初始数据库,现在我正在尝试通过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();
        }