diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/Environment.java b/hibernate-core/src/main/java/org/hibernate/cfg/Environment.java index eeea43cc61ea..7db4c9fa779b 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/Environment.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/Environment.java @@ -144,7 +144,8 @@ public final class Environment implements AvailableSettings { InputStream stream = ConfigHelper.getResourceAsStream( "/hibernate.properties" ); try { GLOBAL_PROPERTIES.load(stream); - LOG.propertiesLoaded( ConfigurationHelper.maskOut( GLOBAL_PROPERTIES, PASS ) ); + LOG.propertiesLoaded( ConfigurationHelper.maskOut( GLOBAL_PROPERTIES, + PASS, JAKARTA_JDBC_PASSWORD, JPA_JDBC_PASSWORD ) ); } catch (Exception e) { LOG.unableToLoadProperties(); diff --git a/hibernate-core/src/main/java/org/hibernate/internal/util/config/ConfigurationHelper.java b/hibernate-core/src/main/java/org/hibernate/internal/util/config/ConfigurationHelper.java index 6b032e3a45ab..4560e81279b5 100644 --- a/hibernate-core/src/main/java/org/hibernate/internal/util/config/ConfigurationHelper.java +++ b/hibernate-core/src/main/java/org/hibernate/internal/util/config/ConfigurationHelper.java @@ -270,7 +270,7 @@ else if ( configurationValues instanceof Properties properties ) { } /** - * replace a property by a starred version + * Replace a property by a starred version * * @param props properties to check * @param key property to mask @@ -285,6 +285,24 @@ public static Properties maskOut(Properties props, String key) { return clone; } + /** + * Replace properties by starred version + * + * @param props properties to check + * @param keys properties to mask + * + * @return cloned and masked properties + */ + public static Properties maskOut(Properties props, String... keys) { + final Properties clone = (Properties) props.clone(); + for ( String key : keys ) { + if ( clone.get( key ) != null ) { + clone.setProperty( key, "****" ); + } + } + return clone; + } + /** * Extract a property value by name from the given properties object. *