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));