diff --git a/README.md b/README.md
index 64e8b19f..d194728f 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ The latest release is available at [Maven Central Repository](https://mvnreposit
org.nkjmlab
sorm4j
- 1.4.6
+ 1.4.7
```
We assume the following customer table in example: `create table customer (id int primary key, name varchar, address varchar)`
diff --git a/pom.xml b/pom.xml
index 984cba9a..8b22e1a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
sorm4j-parent
sorm4j-parent
Simple micro Object-Relation Mapper for Java
- 1.4.6
+ 1.4.7
pom
https://github.com/nkjmlab
diff --git a/sorm4j-example/pom.xml b/sorm4j-example/pom.xml
index b1e3a1d3..137a0783 100644
--- a/sorm4j-example/pom.xml
+++ b/sorm4j-example/pom.xml
@@ -2,11 +2,11 @@
4.0.0
org.nkjmlab
sorm4j-example
- 1.4.6
+ 1.4.7
Example of Sorm4j
- 1.4.6
+ 1.4.7
UTF-8
-Xdoclint:none
true
diff --git a/sorm4j-jmh/pom.xml b/sorm4j-jmh/pom.xml
index fe258269..27323d12 100644
--- a/sorm4j-jmh/pom.xml
+++ b/sorm4j-jmh/pom.xml
@@ -21,12 +21,12 @@
4.0.0
org.nkjmlab
sorm4j-jmh
- 1.4.6
+ 1.4.7
jar
Sorm4j benchmark
- 1.4.6
+ 1.4.7
UTF-8
diff --git a/sorm4j/pom.xml b/sorm4j/pom.xml
index 6ebfcaa4..377f5b9a 100644
--- a/sorm4j/pom.xml
+++ b/sorm4j/pom.xml
@@ -7,7 +7,7 @@
org.nkjmlab
sorm4j-parent
- 1.4.6
+ 1.4.7
1.7.30
@@ -22,7 +22,7 @@
org.apache.logging.log4j
log4j-api
- 2.17.1
+ 2.17.2
true
@@ -57,14 +57,14 @@
org.mockito
mockito-core
- 4.2.0
+ 4.4.0
test
org.apache.logging.log4j
log4j-slf4j-impl
- 2.17.1
+ 2.17.2
test
@@ -78,28 +78,28 @@
mysql
mysql-connector-java
- 8.0.27
+ 8.0.28
test
org.postgresql
postgresql
- 42.3.1
+ 42.3.3
test
com.microsoft.sqlserver
mssql-jdbc
- 10.1.0.jre17-preview
+ 10.2.0.jre17
test
com.oracle.database.jdbc
ojdbc10
- 19.13.0.0.1
+ 19.14.0.0
test
@@ -131,8 +131,35 @@
src/test/java/
- --illegal-access=warn
--add-opens java.base/java.lang=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.annotation=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.common=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.context=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.mapping=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.result=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.sql=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.table=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.util.command=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.util.h2.sql=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.util.logger=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.util.sql=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.util.table_def=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.util.table_def.annotation=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.internal=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.internal.common=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.internal.mapping=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.internal.mapping.multirow=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.internal.result=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.internal.sql=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.internal.util=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/org.nkjmlab.sorm4j.engine=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/repackage.net.sf.persist.tests.common=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/repackage.net.sf.persist.tests.engine.h2=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/repackage.net.sf.persist.tests.engine.mysql=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/repackage.net.sf.persist.tests.engine.oracle=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/repackage.net.sf.persist.tests.engine.postgresql=ALL-UNNAMED
+ --add-opens org.nkjmlab.sorm4j/repackage.net.sf.persist.tests.engine.sqlserver=ALL-UNNAMED
${argLine}
diff --git a/sorm4j/src/main/java/module-info.java b/sorm4j/src/main/java/module-info.java
new file mode 100644
index 00000000..8c992fd3
--- /dev/null
+++ b/sorm4j/src/main/java/module-info.java
@@ -0,0 +1,19 @@
+module org.nkjmlab.sorm4j {
+ requires transitive java.sql;
+ requires transitive org.apache.logging.log4j;
+ requires transitive org.slf4j;
+ exports org.nkjmlab.sorm4j;
+ exports org.nkjmlab.sorm4j.annotation;
+ exports org.nkjmlab.sorm4j.common;
+ exports org.nkjmlab.sorm4j.context;
+ exports org.nkjmlab.sorm4j.mapping;
+ exports org.nkjmlab.sorm4j.result;
+ exports org.nkjmlab.sorm4j.sql;
+ exports org.nkjmlab.sorm4j.table;
+ exports org.nkjmlab.sorm4j.util.command;
+ exports org.nkjmlab.sorm4j.util.h2.sql;
+ exports org.nkjmlab.sorm4j.util.logger;
+ exports org.nkjmlab.sorm4j.util.sql;
+ exports org.nkjmlab.sorm4j.util.table_def;
+ exports org.nkjmlab.sorm4j.util.table_def.annotation;
+}
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/Sorm.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/Sorm.java
index e6839e4b..912ad615 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/Sorm.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/Sorm.java
@@ -4,10 +4,10 @@
import javax.sql.DataSource;
import org.nkjmlab.sorm4j.annotation.Experimental;
import org.nkjmlab.sorm4j.common.ConsumerHandler;
+import org.nkjmlab.sorm4j.common.DriverManagerDataSource;
import org.nkjmlab.sorm4j.common.FunctionHandler;
import org.nkjmlab.sorm4j.context.SormContext;
import org.nkjmlab.sorm4j.internal.SormImpl;
-import org.nkjmlab.sorm4j.internal.util.DriverManagerDataSource;
import org.nkjmlab.sorm4j.table.Table;
/**
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/internal/util/DriverManagerDataSource.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/common/DriverManagerDataSource.java
similarity index 94%
rename from sorm4j/src/main/java/org/nkjmlab/sorm4j/internal/util/DriverManagerDataSource.java
rename to sorm4j/src/main/java/org/nkjmlab/sorm4j/common/DriverManagerDataSource.java
index 8d42d3bd..2d64734a 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/internal/util/DriverManagerDataSource.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/common/DriverManagerDataSource.java
@@ -1,4 +1,4 @@
-package org.nkjmlab.sorm4j.internal.util;
+package org.nkjmlab.sorm4j.common;
import java.io.PrintWriter;
import java.sql.Connection;
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/TableDefinition.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/TableDefinition.java
index a89b14c3..d4bea0fb 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/TableDefinition.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/TableDefinition.java
@@ -8,9 +8,11 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Set;
import java.util.stream.Collectors;
import org.nkjmlab.sorm4j.Orm;
import org.nkjmlab.sorm4j.annotation.Experimental;
@@ -50,8 +52,7 @@ public static TableDefinition.Builder builder(String tableName) {
public static TableDefinition.Builder builder(Class> ormRecordClass) {
- Builder builder =
- TableDefinition.builder(StringCache.toCanonicalCase(toTableName(ormRecordClass)));
+ Builder builder = TableDefinition.builder(toUpperSnakeCase(toTableName(ormRecordClass)));
Optional.ofNullable(ormRecordClass.getAnnotation(Indexes.class)).map(a -> a.value()).ifPresent(
vals -> Arrays.stream(vals).forEach(v -> builder.addIndexDefinition(v.split(","))));
@@ -75,8 +76,12 @@ public static TableDefinition.Builder builder(Class> ormRecordClass) {
List opt = new ArrayList<>();
opt.add(TableDefinition.toSqlDataType(field.getType()));
- for (Annotation ann : parameterAnnotationsOfConstructor == null ? field.getAnnotations()
- : parameterAnnotationsOfConstructor[i]) {
+ Set anns = new LinkedHashSet<>();
+ Arrays.stream(field.getAnnotations()).forEach(a -> anns.add(a));
+ if (parameterAnnotationsOfConstructor != null) {
+ Arrays.stream(parameterAnnotationsOfConstructor[i]).forEach(a -> anns.add(a));
+ }
+ for (Annotation ann : anns) {
if (ann instanceof PrimaryKey) {
opt.add("primary key");
} else if (ann instanceof AutoIncrement) {
@@ -84,9 +89,9 @@ public static TableDefinition.Builder builder(Class> ormRecordClass) {
} else if (ann instanceof NotNull) {
opt.add("not null");
} else if (ann instanceof Index) {
- builder.addIndexDefinition(field.getName());
+ builder.addIndexDefinition(toUpperSnakeCase(field.getName()));
} else if (ann instanceof Unique) {
- builder.addUniqueConstraint(field.getName());
+ builder.addUniqueConstraint(toUpperSnakeCase(field.getName()));
} else if (ann instanceof Check) {
opt.add("check (" + ((Check) ann).value() + ")");
} else if (ann instanceof Default) {
@@ -94,11 +99,20 @@ public static TableDefinition.Builder builder(Class> ormRecordClass) {
}
}
- builder.addColumnDefinition(field.getName(), opt.toArray(String[]::new));
+ builder.addColumnDefinition(toUpperSnakeCase(field.getName()), opt.toArray(String[]::new));
}
return builder;
}
+ /**
+ * Given a field or class name in the form CompoundName (for classes) or compoundName (for fields)
+ * will return a set of guessed names such as [COMPOUND_NAME].
+ */
+ public static String toUpperSnakeCase(final String compoundName) {
+ String camelCase = compoundName.substring(0, 1).toLowerCase() + compoundName.substring(1);
+ return StringCache.toUpperCase(camelCase.replaceAll("([A-Z])", "_$1"));
+ }
+
private static String toTableName(Class> ormRecordClass) {
OrmTable ann = ormRecordClass.getAnnotation(OrmTable.class);
if (ann == null || ann.value().length() == 0) {
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/AutoIncrement.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/AutoIncrement.java
index fa6d6fa9..f9fd88c9 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/AutoIncrement.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/AutoIncrement.java
@@ -6,7 +6,7 @@
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.PARAMETER)
+@Target({ElementType.PARAMETER, ElementType.FIELD})
public @interface AutoIncrement {
}
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Check.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Check.java
index 727faa4a..6b8c18e5 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Check.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Check.java
@@ -6,7 +6,7 @@
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.PARAMETER)
+@Target({ElementType.PARAMETER, ElementType.FIELD})
public @interface Check {
String value();
}
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Default.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Default.java
index 29c1b2e7..7d697a92 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Default.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Default.java
@@ -6,7 +6,7 @@
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.PARAMETER)
+@Target({ElementType.PARAMETER, ElementType.FIELD})
public @interface Default {
String value();
}
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Index.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Index.java
index 198ba67e..6b0d8e2d 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Index.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Index.java
@@ -6,7 +6,7 @@
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.PARAMETER)
+@Target({ElementType.PARAMETER, ElementType.FIELD})
public @interface Index {
}
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/NotNull.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/NotNull.java
index 93629e8c..dad96925 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/NotNull.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/NotNull.java
@@ -6,7 +6,7 @@
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.PARAMETER)
+@Target({ElementType.PARAMETER, ElementType.FIELD})
public @interface NotNull {
}
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/PrimaryKey.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/PrimaryKey.java
index 5bece241..9509c01b 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/PrimaryKey.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/PrimaryKey.java
@@ -6,7 +6,7 @@
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.PARAMETER)
+@Target({ElementType.PARAMETER, ElementType.FIELD})
public @interface PrimaryKey {
}
diff --git a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Unique.java b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Unique.java
index 04893a22..a249e385 100644
--- a/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Unique.java
+++ b/sorm4j/src/main/java/org/nkjmlab/sorm4j/util/table_def/annotation/Unique.java
@@ -6,7 +6,7 @@
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.PARAMETER)
+@Target({ElementType.PARAMETER, ElementType.FIELD})
public @interface Unique {
}
diff --git a/sorm4j/src/test/java/org/nkjmlab/sorm4j/internal/util/DriverManagerDataSourceTest.java b/sorm4j/src/test/java/org/nkjmlab/sorm4j/internal/util/DriverManagerDataSourceTest.java
index 8ba3d7f7..acfd69b7 100644
--- a/sorm4j/src/test/java/org/nkjmlab/sorm4j/internal/util/DriverManagerDataSourceTest.java
+++ b/sorm4j/src/test/java/org/nkjmlab/sorm4j/internal/util/DriverManagerDataSourceTest.java
@@ -3,6 +3,7 @@
import static org.junit.jupiter.api.Assertions.*;
import java.sql.SQLException;
import org.junit.jupiter.api.Test;
+import org.nkjmlab.sorm4j.common.DriverManagerDataSource;
import org.nkjmlab.sorm4j.test.common.SormTestUtils;
class DriverManagerDataSourceTest {
diff --git a/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableSchemaKeywordTest.java b/sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableSchemaKeywordTest.java
similarity index 87%
rename from sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableSchemaKeywordTest.java
rename to sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableSchemaKeywordTest.java
index efe228f6..1ba43e9e 100644
--- a/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableSchemaKeywordTest.java
+++ b/sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableSchemaKeywordTest.java
@@ -1,4 +1,4 @@
-package org.nkjmlab.sorm4j.util.table;
+package org.nkjmlab.sorm4j.table;
import static org.assertj.core.api.Assertions.*;
import static org.nkjmlab.sorm4j.util.sql.SqlKeyword.*;
diff --git a/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableSchemaTest.java b/sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableSchemaTest.java
similarity index 93%
rename from sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableSchemaTest.java
rename to sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableSchemaTest.java
index f731a041..387d90a4 100644
--- a/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableSchemaTest.java
+++ b/sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableSchemaTest.java
@@ -1,8 +1,8 @@
-package org.nkjmlab.sorm4j.util.table;
+package org.nkjmlab.sorm4j.table;
import static org.assertj.core.api.Assertions.*;
+import static org.nkjmlab.sorm4j.table.TableSchemaTest.TempGuestTable.Column.*;
import static org.nkjmlab.sorm4j.util.sql.SqlKeyword.*;
-import static org.nkjmlab.sorm4j.util.table.TableSchemaTest.TempGuestTable.Column.*;
import java.util.stream.Stream;
import org.junit.jupiter.api.Test;
import org.nkjmlab.sorm4j.Sorm;
diff --git a/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableTest.java b/sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableTest.java
similarity index 95%
rename from sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableTest.java
rename to sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableTest.java
index 03bb580e..00ca033e 100644
--- a/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table/TableTest.java
+++ b/sorm4j/src/test/java/org/nkjmlab/sorm4j/table/TableTest.java
@@ -1,4 +1,4 @@
-package org.nkjmlab.sorm4j.util.table;
+package org.nkjmlab.sorm4j.table;
import static org.assertj.core.api.Assertions.*;
import static org.nkjmlab.sorm4j.test.common.SormTestUtils.*;
@@ -9,7 +9,6 @@
import org.junit.jupiter.api.Test;
import org.nkjmlab.sorm4j.Sorm;
import org.nkjmlab.sorm4j.sql.ParameterizedSql;
-import org.nkjmlab.sorm4j.table.BasicTable;
import org.nkjmlab.sorm4j.test.common.Guest;
import org.nkjmlab.sorm4j.test.common.Player;
import org.nkjmlab.sorm4j.test.common.Sport;
diff --git a/sorm4j/src/test/java/org/nkjmlab/sorm4j/test/common/SormTestUtils.java b/sorm4j/src/test/java/org/nkjmlab/sorm4j/test/common/SormTestUtils.java
index f3a6a14c..fe3dfa59 100644
--- a/sorm4j/src/test/java/org/nkjmlab/sorm4j/test/common/SormTestUtils.java
+++ b/sorm4j/src/test/java/org/nkjmlab/sorm4j/test/common/SormTestUtils.java
@@ -3,8 +3,8 @@
import static org.nkjmlab.sorm4j.util.sql.SqlKeyword.*;
import java.util.concurrent.atomic.AtomicInteger;
import org.nkjmlab.sorm4j.Sorm;
+import org.nkjmlab.sorm4j.common.DriverManagerDataSource;
import org.nkjmlab.sorm4j.context.SormContext;
-import org.nkjmlab.sorm4j.internal.util.DriverManagerDataSource;
import org.nkjmlab.sorm4j.util.table_def.BasicTableWithDefinition;
import org.nkjmlab.sorm4j.util.table_def.TableDefinition;
import org.nkjmlab.sorm4j.util.table_def.TableWithDefinition;
diff --git a/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table_def/TableDefinitionTest.java b/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table_def/TableDefinitionTest.java
index 216e9c41..df96a036 100644
--- a/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table_def/TableDefinitionTest.java
+++ b/sorm4j/src/test/java/org/nkjmlab/sorm4j/util/table_def/TableDefinitionTest.java
@@ -34,7 +34,7 @@ void test() throws URISyntaxException {
Sorm sorm = SormTestUtils.createSormWithNewContext();
TableDefinition def = TableDefinition.builder(TableDefExample.class).build();
assertThat(def.getTableNameAndColumnDefinitions()).isEqualTo(
- "TABLEDEFEXAMPLES(id bigint primary key auto_increment, booleanCol boolean, byteCol tinyint, charCol character, shortCol smallint, intCol integer default 0, floatCol float, doubleCol double check (doubleCol>0), bigDecimal numeric, phoneNumber varchar not null, localDateCol date, localTimeCol time, localDateTime timestamp, offsetTime time with time zone, offsetDateTime timestamp with time zone, blob blob, clob clob, inputStream longvarbinary, reader longvarchar, unique(phoneNumber))");
+ "TABLE_DEF_EXAMPLES(ID bigint primary key auto_increment, BOOLEAN_COL boolean, BYTE_COL tinyint, CHAR_COL character, SHORT_COL smallint, INT_COL integer default 0, FLOAT_COL float, DOUBLE_COL double check (double_col>0), BIG_DECIMAL numeric, PHONE_NUMBER varchar not null, LOCAL_DATE_COL date, LOCAL_TIME_COL time, LOCAL_DATE_TIME timestamp, OFFSET_TIME time with time zone, OFFSET_DATE_TIME timestamp with time zone, BLOB blob, CLOB clob, INPUT_STREAM longvarbinary, READER longvarchar, unique(PHONE_NUMBER))");
sorm.executeUpdate(def.getCreateTableIfNotExistsStatement());
String selectSql = H2CsvReadSql
@@ -74,7 +74,7 @@ public static class TableDefExample {
public TableDefExample(@PrimaryKey @AutoIncrement Long id, Boolean booleanCol, Byte byteCol,
Character charCol, Short shortCol, @Default("0") Integer intCol, Float floatCol,
- @Check("doubleCol>0") Double doubleCol, BigDecimal bigDecimal,
+ @Check("double_col>0") Double doubleCol, BigDecimal bigDecimal,
@Index @Unique @NotNull String phoneNumber, LocalDate localDateCol, LocalTime localTimeCol,
LocalDateTime localDateTimeCol, OffsetTime offsetTime, OffsetDateTime offsetDateTime,
Blob blob, Clob clob, InputStream inputStream, Reader reader) {