Невозможно создать временную таблицу, используя Hibernate

Я не могу создать временную таблицу, используя Hibernate, вот мой код

        getSession().beginTransaction();
        String queryString1 = "CREATE TEMPORARY TABLE  sage_temp_table(CRMID VARCHAR(60),POPAmountPaid DECIMAL(14,2)) ";
        getSession().createSQLQuery(queryString1).executeUpdate();
        getSession().flush();
        String queryString2 = "INSERT INTO sage_temp_table(CRMID,POPAmountPaid) SELECT  CRMID,POPAmountPaid FROM sage_payments WHERE sage_payments.`CRMID` REGEXP \"^[0-9]+$\" AND"
                + " sage_payments.POPPaidDate NOT LIKE \"%0000-00-00 00%\" AND sage_payments.POPPaidDate IS NOT NULL AND sage_payments.POPAmountPaid IS NOT NULL";
        getSession().createSQLQuery(queryString2).executeUpdate();
        getSession().beginTransaction().commit();

Здесь в журналах показано, что команды выполняются, но когда я выбираю содержимое из таблицы, оно говорит, что таблица sage_temp_table не существует, поэтому не создается и не выдает никакой ошибки. Вот журналы

  04:00:04,549 INFO  [STDOUT] Hibernate: CREATE TEMPORARY  TABLE  sage_temp_table(CRMID VARCHAR(60),POPAmountPaid DECIMAL(14,2)) 
  04:00:17,463 INFO  [STDOUT] Hibernate: INSERT INTO sage_temp_table(CRMID,POPAmountPaid) SELECT  CRMID,POPAmountPaid FROM sage_payments WHERE sage_payments.`CRMID` REGEXP "^[0-9]+$" AND        sage_payments.POPPaidDate NOT LIKE "%0000-00-00 00%" AND          sage_payments.POPPaidDate IS NOT NULL AND sage_payments.POPAmountPaid IS NOT NULL

Здесь создается еще один случай, когда я удаляю TEMPORARY из таблицы queryString1 и также происходит вставка. Скажите пожалуйста, что в этом плохого?

0 ответов

Другие вопросы по тегам