如何在hibernate中使用mysql存储过程在不同的数据库中插入数据

时间:2015-03-18 10:59:52

标签: mysql hibernate

我有一个存储过程,可以将数据从一个数据库插入另一个数据库。存储过程在mysql中工作正常,但是当我通过hibernate调用时,它无效。

        DELIMITER $$

    CREATE PROCEDURE `INSERTDATA`(stdID BIGINT)
    BEGIN

        DECLARE exit handler for sqlexception
          BEGIN
            -- ERROR
          ROLLBACK;
        END;
        DECLARE exit handler for sqlwarning
         BEGIN
            -- WARNING
         ROLLBACK;
        END;

        START TRANSACTION;

        INSERT INTO `db2`.`std`
        SELECT * FROM stdDetails WHERE studID=stdID;

        COMMIT;

END
  

//如果我这样做,工作正常

call INSERTDATA(1);
  

但是

 Query procQry = session.createSQLQuery( "CALL ARCHIVEEVENTDATA(?)");                           
                            procQry.setParameter(0,examEventID);
                procQry.executeUpdate();
                transaction.commit();
  

不适合我:(

注意:两个数据库都在同一台服务器上

0 个答案:

没有答案