From a957a10b11405da56e0f0afd51df20af43cb01fb Mon Sep 17 00:00:00 2001 From: Georgios Andrianakis Date: Mon, 25 May 2020 16:13:36 +0300 Subject: [PATCH] Use Charset in HibernateOrmConfig and default to UTF-8 --- .../hibernate/orm/deployment/HibernateOrmConfig.java | 9 ++++++--- .../hibernate/orm/deployment/HibernateOrmProcessor.java | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) 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 d3e3106ee4d7e..167c2246082a3 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; @@ -219,6 +220,8 @@ public boolean isAnyPropertySet() { @ConfigGroup public static class HibernateOrmConfigDatabase { + private static final String DEFAULT_CHARSET = "UTF-8"; + /** * Select whether the database schema is generated or not. * @@ -250,8 +253,8 @@ public static class HibernateOrmConfigDatabase { /** * The charset of the database. */ - @ConfigItem - public Optional charset; + @ConfigItem(defaultValue = "UTF-8") + public Optional charset; /** * Whether Hibernate should quote all identifiers. @@ -262,7 +265,7 @@ public static class HibernateOrmConfigDatabase { public boolean isAnyPropertySet() { return !"none".equals(generation) || defaultCatalog.isPresent() || defaultSchema.isPresent() || generationHaltOnError - || charset.isPresent() + || (charset.isPresent() && !DEFAULT_CHARSET.equals(charset.get().name())) || globallyQuotedIdentifiers; } } 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 86c17a6138f86..49a73368e9293 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 @@ -785,7 +785,7 @@ private void handleHibernateORMWithNoPersistenceXml( } hibernateConfig.database.charset.ifPresent( - charset -> desc.getProperties().setProperty(AvailableSettings.HBM2DDL_CHARSET_NAME, charset)); + charset -> desc.getProperties().setProperty(AvailableSettings.HBM2DDL_CHARSET_NAME, charset.name())); hibernateConfig.database.defaultCatalog.ifPresent( catalog -> desc.getProperties().setProperty(AvailableSettings.DEFAULT_CATALOG, catalog));