diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/util/EnvironmentHelper.java b/src/main/java/ca/uhn/fhir/jpa/starter/util/EnvironmentHelper.java index e62b089..e22a179 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/util/EnvironmentHelper.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/util/EnvironmentHelper.java @@ -40,6 +40,19 @@ public class EnvironmentHelper { properties.put(strippedKey, entry.getValue().toString()); } + // also check for JPA properties set as environment variables, this is slightly hacky and doesn't cover all + // the naming conventions Springboot allows + // but there doesn't seem to be a better/deterministic way to get these properties when they are set as ENV + // variables and this at least provides + // a way to set them (in a docker container, for instance) + Map jpaPropsEnv = getPropertiesStartingWith(environment, "SPRING_JPA_PROPERTIES"); + for (Map.Entry entry : jpaPropsEnv.entrySet()) { + String strippedKey = entry.getKey().replace("SPRING_JPA_PROPERTIES_", ""); + strippedKey = strippedKey.replaceAll("_", "."); + strippedKey = strippedKey.toLowerCase(); + properties.put(strippedKey, entry.getValue().toString()); + } + // Spring Boot Autoconfiguration defaults properties.putIfAbsent(AvailableSettings.SCANNER, "org.hibernate.boot.archive.scan.internal.DisabledScanner"); properties.putIfAbsent(