diff --git a/build.gradle.kts b/build.gradle.kts index 1e2aa817d..68ef7c8ee 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -206,7 +206,7 @@ configure(integrationTestProjects) { dependencies { testImplementation(platform("org.testcontainers:testcontainers-bom:1.20.1")) - testRuntimeOnly("com.h2database:h2:1.4.200") + testRuntimeOnly("com.h2database:h2:2.3.232") testRuntimeOnly("mysql:mysql-connector-java:8.0.33") testRuntimeOnly("com.oracle.database.jdbc:ojdbc8-production:18.15.0.0") testRuntimeOnly("org.postgresql:postgresql:42.7.4") diff --git a/doma-core/src/main/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformer.java b/doma-core/src/main/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformer.java index e1ec8ffa0..0edf838ce 100644 --- a/doma-core/src/main/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformer.java +++ b/doma-core/src/main/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformer.java @@ -28,11 +28,9 @@ public SqlNode visitSelectStatementNode(SelectStatementNode node, Void p) { } else { orderBy = new OrderByClauseNode(""); } - orderBy.appendNode(new FragmentNode(" limit ")); if (limit > 0) { + orderBy.appendNode(new FragmentNode(" limit ")); orderBy.appendNode(new FragmentNode(String.valueOf(limit))); - } else { - orderBy.appendNode(new FragmentNode("-1")); } if (offset >= 0) { orderBy.appendNode(new FragmentNode(" offset ")); diff --git a/doma-core/src/test/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformerTest.java b/doma-core/src/test/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformerTest.java index 664e96d84..3b4eedef2 100644 --- a/doma-core/src/test/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformerTest.java +++ b/doma-core/src/test/java/org/seasar/doma/internal/jdbc/dialect/H2PagingTransformerTest.java @@ -63,7 +63,7 @@ public void testOffsetLimit_forUpdate_semicolon() { @Test public void testOffsetOnly() { - String expected = "select * from emp order by emp.id limit -1 offset 5"; + String expected = "select * from emp order by emp.id offset 5"; H2PagingTransformer transformer = new H2PagingTransformer(5, -1); SqlParser parser = new SqlParser("select * from emp order by emp.id"); SqlNode sqlNode = transformer.transform(parser.parse()); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script index f91741f2f..f14345ead 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-db2.script @@ -17,16 +17,16 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER NOT NULL PRIMARY KEY, UNIQUE_KEY INTEGER NOT NULL UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1) PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script index 80a745074..fdfeb1213 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script @@ -17,18 +17,18 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); -CREATE TABLE ROOM (ID INTEGER NOT NULL PRIMARY KEY, COLORS ARRAY); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); +CREATE TABLE ROOM (ID INTEGER NOT NULL PRIMARY KEY, COLORS varchar(10) array); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY2(ID INTEGER NOT NULL IDENTITY PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL generated by default as identity PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL generated by default as identity PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY2(ID INTEGER NOT NULL generated by default as identity PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script index a8e19a39b..94a4389db 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-hsqldb.script @@ -22,16 +22,16 @@ CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); ALTER TABLE CONSTRAINT_CHECKING ADD UNIQUE (UNIQUE_KEY); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script index d95f57c7c..be4453f89 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script @@ -14,18 +14,18 @@ CREATE TABLE AUTHORITY (ID INT NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER); CREATE TABLE NO_ID (VALUE1 INT, VALUE2 INT); CREATE TABLE OWNER_OF_NO_ID (ID INT NOT NULL PRIMARY KEY, NO_ID_VALUE1 INT); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INT PRIMARY KEY, UNIQUE_KEY INT UNIQUE, FOREIGN_KEY INT, CHECK_CONSTRAINT INT, NOT_NULL INT NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ([VALUE] VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY2(ID INT IDENTITY PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY2(ID INT IDENTITY PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, [VALUE] VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); CREATE TABLE TEAM(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INT); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script index 0526e68bd..bfa9981f4 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script @@ -14,17 +14,17 @@ CREATE TABLE AUTHORITY (ID INT NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER); CREATE TABLE NO_ID (VALUE1 INT, VALUE2 INT); CREATE TABLE OWNER_OF_NO_ID (ID INT NOT NULL PRIMARY KEY, NO_ID_VALUE1 INT); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INT PRIMARY KEY, UNIQUE_KEY INT UNIQUE, FOREIGN_KEY INT, CHECK_CONSTRAINT INT, NOT_NULL INT NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ([VALUE] VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INT IDENTITY PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INT IDENTITY PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10)); CREATE TABLE TEAM(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INT); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script index 4294b3203..d7b454939 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script @@ -14,17 +14,17 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN (`VALUE` VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY2(ID INTEGER AUTO_INCREMENT PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER AUTO_INCREMENT PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY2(ID INTEGER AUTO_INCREMENT PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, `VALUE` VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script index a7b43f7cd..dcd7a9ba2 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script @@ -18,17 +18,17 @@ CREATE TABLE AUTHORITY (ID NUMERIC NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 NUMERIC, VALUE2 NUMERIC); CREATE TABLE OWNER_OF_NO_ID (ID NUMERIC NOT NULL PRIMARY KEY, NO_ID_VALUE1 NUMERIC); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY NUMERIC PRIMARY KEY, UNIQUE_KEY NUMERIC UNIQUE, FOREIGN_KEY NUMERIC, CHECK_CONSTRAINT NUMERIC, NOT_NULL NUMERIC NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR2(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR2(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR2(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR2(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR2(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID NUMERIC(8) PRIMARY KEY, VALUE VARCHAR2(10)); -CREATE TABLE IDENTITY_STRATEGY(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, VALUE VARCHAR2(10), PRIMARY KEY (ID)); -CREATE TABLE IDENTITY_STRATEGY2(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, UNIQUE_VALUE VARCHAR2(10) UNIQUE, VALUE VARCHAR2(10), PRIMARY KEY (ID)); -CREATE TABLE SEQUENCE_STRATEGY(ID NUMERIC(8) NOT NULL PRIMARY KEY, VALUE VARCHAR2(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, VALUE VARCHAR2(10)); -CREATE TABLE TABLE_STRATEGY(ID NUMERIC(8) NOT NULL PRIMARY KEY, VALUE VARCHAR2(10)); -CREATE TABLE TABLE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, VALUE VARCHAR2(10)); +CREATE TABLE AUTO_STRATEGY(ID NUMERIC(8) PRIMARY KEY, "VALUE" VARCHAR2(10)); +CREATE TABLE IDENTITY_STRATEGY(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, "VALUE" VARCHAR2(10), PRIMARY KEY (ID)); +CREATE TABLE IDENTITY_STRATEGY2(ID NUMERIC(8) GENERATED ALWAYS AS IDENTITY, UNIQUE_VALUE VARCHAR2(10) UNIQUE, "VALUE" VARCHAR2(10), PRIMARY KEY (ID)); +CREATE TABLE SEQUENCE_STRATEGY(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR2(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR2(10)); +CREATE TABLE TABLE_STRATEGY(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR2(10)); +CREATE TABLE TABLE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR2(10)); CREATE TABLE TEAM(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID NUMERIC(8)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script index 79dc46f68..eec79b79f 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script @@ -17,19 +17,19 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); CREATE TABLE SAL_EMP (NAME TEXT PRIMARY KEY, PAY_BY_QUARTER INTEGER[], SCHEDULE TEXT[][]); CREATE TABLE BOOK(ID UUID NOT NULL PRIMARY KEY, TITLE VARCHAR(100)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID SERIAL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID SERIAL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY2(ID SERIAL PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID SERIAL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID SERIAL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY2(ID SERIAL PRIMARY KEY, UNIQUE_VALUE VARCHAR(10) UNIQUE, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE PRODUCT(ID INTEGER NOT NULL PRIMARY KEY, VALUE XML); CREATE TABLE VERY_LONG_CHARACTERS_NAMED_TABLE(VERY_LONG_CHARACTERS_NAMED_TABLE_ID SERIAL PRIMARY KEY, VALUE VARCHAR(10)); diff --git a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script index 5c28c7f12..8d7608c1a 100644 --- a/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script +++ b/integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script @@ -14,16 +14,16 @@ CREATE TABLE AUTHORITY (ID INTEGER NOT NULL PRIMARY KEY, AUTHORITY_TYPE INTEGER) CREATE TABLE NO_ID (VALUE1 INTEGER, VALUE2 INTEGER); CREATE TABLE OWNER_OF_NO_ID (ID INTEGER NOT NULL PRIMARY KEY, NO_ID_VALUE1 INTEGER); CREATE TABLE CONSTRAINT_CHECKING (PRIMARY_KEY INTEGER PRIMARY KEY, UNIQUE_KEY INTEGER UNIQUE, FOREIGN_KEY INTEGER, CHECK_CONSTRAINT INTEGER, NOT_NULL INTEGER NOT NULL, CONSTRAINT CK_CONSTRAINT_CHECKING_1 CHECK (CHECK_CONSTRAINT > 0), CONSTRAINT FK_JOB_ID FOREIGN KEY (FOREIGN_KEY) REFERENCES JOB (ID)); -CREATE TABLE PATTERN (VALUE VARCHAR(10)); +CREATE TABLE PATTERN ("VALUE" VARCHAR(10)); -CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VALUE INTEGER NOT NULL); +CREATE TABLE ID_GENERATOR(PK VARCHAR(20) NOT NULL PRIMARY KEY, VAL INTEGER NOT NULL); CREATE TABLE MY_ID_GENERATOR(MY_PK VARCHAR(20) NOT NULL PRIMARY KEY, MY_VALUE INTEGER NOT NULL); -CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); -CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, VALUE VARCHAR(10)); +CREATE TABLE AUTO_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE IDENTITY_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE SEQUENCE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); +CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10)); CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20)); CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER); diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/criteria/IdentityTable.java b/integration-test-java/src/main/java/org/seasar/doma/it/criteria/IdentityTable.java index 2cb4be0e2..fde2e0664 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/criteria/IdentityTable.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/criteria/IdentityTable.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.criteria; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -16,6 +17,7 @@ public class IdentityTable { String uniqueValue; + @Column(quote = true) String value; public Integer getId() { diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/dao/RoomDao.java b/integration-test-java/src/main/java/org/seasar/doma/it/dao/RoomDao.java index ad51cf963..cd18aa2f1 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/dao/RoomDao.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/dao/RoomDao.java @@ -1,5 +1,7 @@ package org.seasar.doma.it.dao; +import java.sql.Array; +import org.seasar.doma.ArrayFactory; import org.seasar.doma.Dao; import org.seasar.doma.Insert; import org.seasar.doma.Select; @@ -16,4 +18,7 @@ public interface RoomDao { @Insert int insert(Room room); + + @ArrayFactory(typeName = "VARCHAR") + Array createArray(String[] elements); } diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/domain/StringArrayConverter.java b/integration-test-java/src/main/java/org/seasar/doma/it/domain/StringArrayConverter.java index 3267163ce..511f7fd4f 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/domain/StringArrayConverter.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/domain/StringArrayConverter.java @@ -2,6 +2,7 @@ import java.sql.Array; import java.sql.SQLException; +import java.util.Arrays; import org.seasar.doma.ExternalDomain; import org.seasar.doma.jdbc.domain.DomainConverter; @@ -22,7 +23,8 @@ public String[] fromValueToDomain(Object value) { if (value instanceof Array) { Array a = (Array) value; try { - return (String[]) a.getArray(); + Object[] objects = (Object[]) a.getArray(); + return Arrays.stream(objects).map(Object::toString).toArray(String[]::new); } catch (SQLException e) { return null; } diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy.java index 31365ab2b..91131eaf4 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -15,6 +16,7 @@ public class IdentityStrategy { @GeneratedValue(strategy = GenerationType.IDENTITY) Integer id; + @Column(quote = true) Integer value; @OriginalStates IdentityStrategy originalStates; diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy2.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy2.java index 36a15a89c..e7216ff3f 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy2.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/IdentityStrategy2.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -16,6 +17,7 @@ public class IdentityStrategy2 { String uniqueValue; + @Column(quote = true) String value; public Integer getId() { diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/PrimitiveIdentityStrategy.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/PrimitiveIdentityStrategy.java index 36291b290..9f5ce3a60 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/PrimitiveIdentityStrategy.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/PrimitiveIdentityStrategy.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -15,6 +16,7 @@ public class PrimitiveIdentityStrategy { @GeneratedValue(strategy = GenerationType.IDENTITY) int id = -1; + @Column(quote = true) Integer value; @OriginalStates PrimitiveIdentityStrategy originalStates; diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/SequenceStrategy.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/SequenceStrategy.java index b1b3fd1f4..20bc7c2f6 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/SequenceStrategy.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/SequenceStrategy.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -17,6 +18,7 @@ public class SequenceStrategy { @SequenceGenerator(sequence = "SEQUENCE_STRATEGY_ID", allocationSize = 50) Integer id; + @Column(quote = true) String value; @OriginalStates SequenceStrategy originalStates; diff --git a/integration-test-java/src/main/java/org/seasar/doma/it/entity/TableStrategy.java b/integration-test-java/src/main/java/org/seasar/doma/it/entity/TableStrategy.java index c98f7f8e0..ff230d5e2 100644 --- a/integration-test-java/src/main/java/org/seasar/doma/it/entity/TableStrategy.java +++ b/integration-test-java/src/main/java/org/seasar/doma/it/entity/TableStrategy.java @@ -1,5 +1,6 @@ package org.seasar.doma.it.entity; +import org.seasar.doma.Column; import org.seasar.doma.Entity; import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; @@ -14,9 +15,10 @@ public class TableStrategy { @Id @GeneratedValue(strategy = GenerationType.TABLE) - @TableGenerator(pkColumnValue = "TABLE_STRATEGY_ID", allocationSize = 50) + @TableGenerator(pkColumnValue = "TABLE_STRATEGY_ID", valueColumnName = "VAL", allocationSize = 50) Integer id; + @Column(quote = true) String value; @OriginalStates TableStrategy originalStates;