diff --git a/fine-hibernate/src/main/java/com/fr/third/org/hibernate/dialect/Dialect.java b/fine-hibernate/src/main/java/com/fr/third/org/hibernate/dialect/Dialect.java index c86f19177..61533304f 100644 --- a/fine-hibernate/src/main/java/com/fr/third/org/hibernate/dialect/Dialect.java +++ b/fine-hibernate/src/main/java/com/fr/third/org/hibernate/dialect/Dialect.java @@ -2806,4 +2806,22 @@ public abstract class Dialect implements ConversionContext { return buf.append(')').toString(); } + /** + * 获取建表时分发策略字符串 + * + * @param columnList 主键列集合 + * @return String + */ + public String sqlDistributeString(List columnList) { + return ""; + } + + /** + * 是否强制添加引用符号 + * + * @return 是/否 + */ + public boolean forceQuote() { + return false; + } } diff --git a/fine-hibernate/src/main/java/com/fr/third/org/hibernate/mapping/Column.java b/fine-hibernate/src/main/java/com/fr/third/org/hibernate/mapping/Column.java index 2d155867b..6cf5b7bd7 100644 --- a/fine-hibernate/src/main/java/com/fr/third/org/hibernate/mapping/Column.java +++ b/fine-hibernate/src/main/java/com/fr/third/org/hibernate/mapping/Column.java @@ -96,7 +96,7 @@ public class Column implements Selectable, Serializable, Cloneable { } public String getQuotedName(Dialect d) { - return quoted ? + return quoted || d.forceQuote() ? d.openQuote() + name + d.closeQuote() : name; } diff --git a/fine-hibernate/src/main/java/com/fr/third/org/hibernate/mapping/PrimaryKey.java b/fine-hibernate/src/main/java/com/fr/third/org/hibernate/mapping/PrimaryKey.java index 48f13c807..085505e70 100644 --- a/fine-hibernate/src/main/java/com/fr/third/org/hibernate/mapping/PrimaryKey.java +++ b/fine-hibernate/src/main/java/com/fr/third/org/hibernate/mapping/PrimaryKey.java @@ -74,7 +74,11 @@ public class PrimaryKey extends Constraint { } return buf.append(')').toString(); } - + + public String sqlDistributeString(Dialect dialect) { + return dialect.sqlDistributeString(getColumns()); + } + public String generatedConstraintNamePrefix() { return "PK_"; } diff --git a/fine-hibernate/src/main/java/com/fr/third/org/hibernate/tool/schema/internal/StandardTableExporter.java b/fine-hibernate/src/main/java/com/fr/third/org/hibernate/tool/schema/internal/StandardTableExporter.java index b52b97a8f..713717420 100644 --- a/fine-hibernate/src/main/java/com/fr/third/org/hibernate/tool/schema/internal/StandardTableExporter.java +++ b/fine-hibernate/src/main/java/com/fr/third/org/hibernate/tool/schema/internal/StandardTableExporter.java @@ -154,6 +154,8 @@ public class StandardTableExporter implements Exporter { applyInitCommands( table, sqlStrings ); + buf.append(table.getPrimaryKey().sqlDistributeString(dialect)); + return sqlStrings.toArray( new String[ sqlStrings.size() ] ); }