6.3.1Database Support

 

HAPI FHIR JPA Server maintains active support for several databases.

The supported databases are regularly tested for ongoing compliance and performance, and HAPI FHIR has specific performance optimizations for each platform. Make sure to use the HAPI FHIR dialect class as opposed to the default hibernate dialect class.

DatabaseStatusHibernate Dialect ClassNotes
MS SQL ServerSupportedca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect
PostgreSQLSupportedca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect
OracleSupportedca.uhn.fhir.jpa.model.dialect.HapiFhirOracleDialect
Cockroach DBExperimentalca.uhn.fhir.jpa.model.dialect.HapiFhirCockroachDialectA CockroachDB dialect was contributed by a HAPI FHIR community member. This dialect is not regularly tested, use with caution.
MySQLDeprecatedca.uhn.fhir.jpa.model.dialect.HapiFhirMySQLDialectMySQL and MariaDB exhibit poor performance with HAPI FHIR and have therefore been deprecated. These databases should not be used.
MariaDBDeprecatedca.uhn.fhir.jpa.model.dialect.HapiFhirMariaDBDialectMySQL and MariaDB exhibit poor performance with HAPI FHIR and have therefore been deprecated. These databases should not be used.

6.3.2Experimental Support

 

HAPI FHIR uses the Hibernate ORM to provide database abstraction. This means that HAPI FHIR could theoretically also work on other databases supported by Hibernate. For example, although we do not regularly test or validate on other platforms, community members have reported successfully running HAPI FHIR on:

  • DB2
  • Cache
  • Firebird