MySQL では動作するのだが、Oracleに移行した途端にエラー。
シーケンスが無いとのこと。
どうやら、MySQLの場合は、下記をテーブルとして実装しても動作するのだが、Oracleだとシーケンスとして作成する必要があるようだ。
MySQLだと下記でも動作する。
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);
Oracleでは、Tableではなく、Sequenceを定義。
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;
こちらを参考にした。