From f9aebc8ee3f4feea19c659badb04195b36eab49d Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Tue, 9 Jul 2019 14:18:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8C=E4=B8=80=E4=B8=AAEn?= =?UTF-8?q?tity=E7=B1=BB=E8=A2=AB=E5=A4=9A=E4=B8=AAsource=E6=BA=90?= =?UTF-8?q?=E5=88=86=E8=A1=A8=E5=88=86=E5=BA=93=E6=93=8D=E4=BD=9C=E6=97=B6?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E8=A1=A8=E6=98=AF=E5=90=A6=E5=B7=B2=E5=BB=BA?= =?UTF-8?q?=E6=9C=89=E8=AF=AF=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/source/DataJdbcSource.java | 5 +++-- src/org/redkale/source/EntityInfo.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/org/redkale/source/DataJdbcSource.java b/src/org/redkale/source/DataJdbcSource.java index d9a9adfcd..7f09272fb 100644 --- a/src/org/redkale/source/DataJdbcSource.java +++ b/src/org/redkale/source/DataJdbcSource.java @@ -74,12 +74,13 @@ public class DataJdbcSource extends DataSqlSource { synchronized (info.tables) { final String oldTable = info.table; final String newTable = info.getTable(entitys[0]); - if (!info.tables.contains(newTable)) { + final String catalog = conn.getCatalog(); + if (!info.tables.contains(catalog + '.' + newTable)) { try { Statement st = conn.createStatement(); st.execute(info.tablecopySQL.replace("${newtable}", newTable).replace("${oldtable}", oldTable)); st.close(); - info.tables.add(newTable); + info.tables.add(catalog + '.' + newTable); } catch (SQLException sqle) { //多进程并发时可能会出现重复建表 if (newTable.indexOf('.') > 0 && info.isTableNotExist(se)) { Statement st; diff --git a/src/org/redkale/source/EntityInfo.java b/src/org/redkale/source/EntityInfo.java index e076d4d6e..e237bbdc5 100644 --- a/src/org/redkale/source/EntityInfo.java +++ b/src/org/redkale/source/EntityInfo.java @@ -94,7 +94,7 @@ public final class EntityInfo { //用于复制表结构使用 final String tablecopySQL; - //用于存在table_20160202类似这种分布式表 + //用于存在database.table_20160202类似这种分布式表 final Set tables = new HashSet<>(); //分表 策略