Database persistence in FHIR Bridge

Hi,

I have been trying to set database of FHIR Bridge to be persistent, as it is being wiped when building new container. As environment in compose I am setting as below:

environment:
      LOGGING_LEVEL_ROOT: INFO
      JPA_PROPERTIES_HIBERNATE_DIALECT: 'ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect'
      SPRING_DATASOURCE_URL: 'jdbc:postgresql://db:5432/fhir-bridge'
      SPRING_DATASOURCE_DRIVER_CLASSS_NAME: 'org.postgresql.Driver'
      SPRING_DATASOURCE_USERNAME: 'edm-db-admin'
      SPRING_DATASOURCE_PASSWORD: 'password'
      POSTGRES_DB: "fhir-bridge"
      POSTGRES_USER: "edm-db-admin"
      POSTGRES_PASSWORD: "password"

But is is not working, there is pretty long stacktrace with:

Error creating bean with name ‘entityManagerFactory’ defined in class path resource
Unable to build Hibernate SessionFactory
Could not instantiate id generator [entity-name=ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamQuantityNormalized]

And so on. Is there any good way to set the persistent db?

Thanks

Dont remember the exact environments but in app.yml its:

properties:
hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect
hibernate.search.enabled: true
hibernate.search.backend.type: lucene
hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiLuceneAnalysisConfigurer
hibernate.search.backend.directory.type: local-filesystem
hibernate.search.backend.directory.root: ${java.io.tmpdir}/fhir-bridge/lucenefiles
hibernate.search.backend.lucene_version: lucene_current

Thanks for the info, but the error still occurs.

The interesting thing is that tables are automatically created in the database.

environment:
  LOGGING_LEVEL_ROOT: INFO
  JPA_PROPERTIES_HIBERNATE_DIALECT: 'org.hibernate.dialect.PostgreSQLDialect'
  SPRING_DATASOURCE_URL: 'jdbc:postgresql://db:5432/fhir-bridge'
  SPRING_DATASOURCE_DRIVER_CLASSS_NAME: 'org.postgresql.Driver'
  SPRING_DATASOURCE_USERNAME: 'edm-db-admin'
  SPRING_DATASOURCE_PASSWORD: 'password'
  POSTGRES_DB: "fhir-bridge"
  POSTGRES_USER: "edm-db-admin"
  POSTGRES_PASSWORD: "password"

fhir-bridge:
image: ehrbase/fhir-bridge:latest
ports:
- 8888:8888
environment:
FHIR_BRIDGE_EHRBASE_BASE_URL: http://ehrbase:8080/ehrbase/
IPF_ATNA_AUDIT_REPOSITORY_HOST: logstash
LOGGING_LEVEL_ROOT: INFO
SPRING_DATASOURCE_URL: ‘jdbc:postgresql://ehrbase-db:5432/fhirbridgedb’
SPRING_DATASOURCE_DRIVER_CLASSS_NAME: ‘org.postgresql.Driver’
SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT: ‘org.hibernate.dialect.PostgreSQL10Dialect’
SPRING_DATASOURCE_USERNAME: ‘fhirbridge’
SPRING_DATASOURCE_PASSWORD: ‘yoursecret’
networks:
- ehrbase-network
depends_on:
- ehrbase
restart: unless-stopped

1 Like