Skip to content

Commit 93d6fd6

Browse files
committed
refactor: 优化oracle varchar2类型
Signed-off-by: zhouhao <[email protected]>
1 parent 27e2abc commit 93d6fd6

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

hsweb-easy-orm-rdb/src/main/java/org/hswebframework/ezorm/rdb/supports/oracle/OracleDialect.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public OracleDialect() {
1818
super();
1919
addDataTypeBuilder(JDBCType.CHAR, (meta) -> StringUtils.concat("char(", meta.getLength(), ")"));
2020
addDataTypeBuilder(JDBCType.NCHAR, (meta) -> StringUtils.concat("nchar(", meta.getLength(), ")"));
21-
addDataTypeBuilder(JDBCType.VARCHAR, (meta) -> StringUtils.concat("varchar2(", meta.getLength(), ")"));
21+
addDataTypeBuilder(JDBCType.VARCHAR, (meta) -> StringUtils.concat("varchar2(", meta.getLength(), " char)"));
2222
addDataTypeBuilder(JDBCType.NVARCHAR, (meta) -> StringUtils.concat("nvarchar2(", meta.getLength(), ")"));
2323
addDataTypeBuilder(JDBCType.TIMESTAMP, (meta) -> "timestamp");
2424
addDataTypeBuilder(JDBCType.TIME, (meta) -> "timestamp");
@@ -50,7 +50,7 @@ public OracleDialect() {
5050
registerDataType("longvarchar", DataType.builder(JdbcDataType.of(JDBCType.LONGVARCHAR, String.class), c -> "clob"));
5151

5252
registerDataType("varchar2", DataType.builder(DataType.jdbc(JDBCType.VARCHAR, String.class),
53-
column -> "varchar2(" + column.getLength() + ")"));
53+
column -> "varchar2(" + column.getLength() + " char)"));
5454

5555
registerDataType("nvarchar2", DataType.builder(DataType.jdbc(JDBCType.VARCHAR, String.class),
5656
column -> "nvarchar2(" + column.getLength() + ")"));

hsweb-easy-orm-rdb/src/test/java/org/hswebframework/ezorm/rdb/supports/oracle/OracleTableMetaParserTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public void testParse() {
136136

137137
Assert.assertNotNull(column);
138138

139-
Assert.assertEquals(column.getDataType(), "varchar2(32)");
139+
Assert.assertEquals(column.getDataType(), "varchar2(32 char)");
140140
Assert.assertEquals(column.getType().getSqlType(), JDBCType.VARCHAR);
141141
Assert.assertEquals(column.getJavaType(), String.class);
142142
Assert.assertTrue(column.isNotNull());
@@ -150,7 +150,7 @@ public void testParse() {
150150

151151
Assert.assertNotNull(column);
152152

153-
Assert.assertEquals(column.getDataType(), "varchar2(128)");
153+
Assert.assertEquals(column.getDataType(), "varchar2(128 char)");
154154
Assert.assertEquals(column.getLength(), 128);
155155
Assert.assertEquals(column.getType().getSqlType(), JDBCType.VARCHAR);
156156
Assert.assertEquals(column.getJavaType(), String.class);

0 commit comments

Comments
 (0)