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..9f55bc64cf7ef 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.
*
@@ -249,9 +252,11 @@ public static class HibernateOrmConfigDatabase {
/**
* The charset of the database.
+ *
+ * Used for DDL generation and also for the SQL import scripts.
*/
- @ConfigItem
- public Optional charset;
+ @ConfigItem(defaultValue = "UTF-8")
+ public Charset charset;
/**
* Whether Hibernate should quote all identifiers.
@@ -262,7 +267,7 @@ public static class HibernateOrmConfigDatabase {
public boolean isAnyPropertySet() {
return !"none".equals(generation) || defaultCatalog.isPresent() || defaultSchema.isPresent()
|| generationHaltOnError
- || charset.isPresent()
+ || !DEFAULT_CHARSET.equals(charset.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..50eb46eca5eb5 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
@@ -784,8 +784,9 @@ private void handleHibernateORMWithNoPersistenceXml(
desc.getProperties().setProperty(AvailableSettings.HBM2DDL_HALT_ON_ERROR, "true");
}
- hibernateConfig.database.charset.ifPresent(
- charset -> desc.getProperties().setProperty(AvailableSettings.HBM2DDL_CHARSET_NAME, charset));
+ //charset
+ desc.getProperties().setProperty(AvailableSettings.HBM2DDL_CHARSET_NAME,
+ hibernateConfig.database.charset.name());
hibernateConfig.database.defaultCatalog.ifPresent(
catalog -> desc.getProperties().setProperty(AvailableSettings.DEFAULT_CATALOG, catalog));