From ee21ece05968e41976d6c84402a647897ae7368f Mon Sep 17 00:00:00 2001 From: Georgios Andrianakis Date: Mon, 25 May 2020 12:40:13 +0300 Subject: [PATCH] Add DDL charset support for import.sql file Fixes: #9542 --- .../hibernate/orm/deployment/HibernateOrmConfig.java | 8 ++++++++ .../hibernate/orm/deployment/HibernateOrmProcessor.java | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmConfig.java b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmConfig.java index d3e3106ee4d7ea..ed6c67809e9de1 100644 --- a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmConfig.java +++ b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmConfig.java @@ -1,5 +1,6 @@ package io.quarkus.hibernate.orm.deployment; +import java.nio.charset.Charset; import java.time.Duration; import java.util.Map; import java.util.Optional; @@ -75,6 +76,12 @@ public class HibernateOrmConfig { @ConfigItem(defaultValueDocumentation = "import.sql in DEV, TEST ; no-file otherwise") public Optional sqlLoadScript; + /** + * The name of the charset used by the schema generation resource. Without specifying this configuration property, the JVM default charset is used. + */ + @ConfigItem(defaultValueDocumentation = "JVM default charset") + public Optional ddlCharset; + /** * The size of the batches used when loading entities and collections. * @@ -181,6 +188,7 @@ public boolean isAnyPropertySet() { return dialect.isPresent() || dialectStorageEngine.isPresent() || sqlLoadScript.isPresent() || + ddlCharset.isPresent() || batchFetchSize > 0 || statistics.isPresent() || query.isAnyPropertySet() || diff --git a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java index 86c17a6138f863..b5ea622e1b3fd8 100644 --- a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java +++ b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java @@ -840,6 +840,10 @@ private void handleHibernateORMWithNoPersistenceXml( desc.getProperties().setProperty(AvailableSettings.GENERATE_STATISTICS, "true"); } + if (hibernateConfig.ddlCharset.isPresent()) { + desc.getProperties().setProperty(AvailableSettings.HBM2DDL_CHARSET_NAME, hibernateConfig.ddlCharset.get()); + } + // sql-load-script Optional importFile = getSqlLoadScript(launchMode);