MySQL では動作するのだが、Oracleに移行した途端にエラー。
シーケンスが無いとのこと。
どうやら、MySQLの場合は、下記をテーブルとして実装しても動作するのだが、Oracleだとシーケンスとして作成する必要があるようだ。
MySQLだと下記でも動作する。
[sql]
CREATE TABLE BATCH_STEP_EXECUTION_SEQ (
ID BIGINT NOT NULL
);
CREATE TABLE BATCH_JOB_EXECUTION_SEQ (
ID BIGINT NOT NULL
);
CREATE TABLE BATCH_JOB_SEQ (
ID BIGINT NOT NULL
);
INSERT INTO BATCH_STEP_EXECUTION_SEQ VALUES(0);
INSERT INTO BATCH_JOB_EXECUTION_SEQ VALUES(0);
INSERT INTO BATCH_JOB_SEQ VALUES(0);
[/sql]
Oracleでは、Tableではなく、Sequenceを定義。
[sql]
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ MAXVALUE 9223372036854775807 CYCLE;
CREATE SEQUENCE BATCH_JOB_EXECUTION_SEQ MAXVALUE 9223372036854775807 CYCLE;
CREATE SEQUENCE BATCH_JOB_SEQ MAXVALUE 9223372036854775807 CYCLE;
[/sql]
こちらを参考にした。