Spanner in Hibernate ORM einbinden (GoogleSQL-Dialekt)

Hibernate ist ein objektrelationales Zuordnungstool für die Programmiersprache Java. Sie bietet ein Framework für die Zuordnung eines objektorientierten Domainmodells zu einer relationalen Datenbank.

Sie können GoogleSQL-Dialekt-Datenbanken mithilfe des Open-Source-Spanner-Dialekts (SpannerDialect) in Hibernate einbinden. Spanner ist mit Hibernate ORM 6.3 kompatibel. Der Spanner-Dialekt erstellt SQL-, DML- und DDL-Anweisungen für die gängigsten Entitätstypen und -beziehungen, wobei die standardmäßigen Hibernate- und Java Persistence-Annotationen verwendet werden.

Hibernate einrichten

Fügen Sie in Ihrem Projekt Apache Maven-Abhängigkeiten für den Hibernate ORM-Kern, Spanner Dialect und den offiziell unterstützten Open-Source-JDBC-Treiber von Spanner hinzu.

<dependencies>
  <!-- The Spanner JDBC driver dependency -->
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-jdbc</artifactId>
  </dependency>

  <!-- Hibernate core dependency -->
  <dependency>
    <groupId>org.hibernate.orm</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>6.4.4.Final</version>
  </dependency>
</dependencies>

Konfigurieren Sie hibernate.cfg.xml für die Verwendung des Spanner-Dialekts und des Spanner-JDBC-Treibers.

<!-- Connection settings -->
<property name="hibernate.dialect">org.hibernate.dialect.SpannerDialect</property>
<property name="hibernate.connection.driver_class">com.google.cloud.spanner.jdbc.JdbcDriver</property>
<property name="hibernate.connection.url">jdbc:cloudspanner:/projects/{YOUR_PROJECT_ID}/instances/{YOUR_INSTANCE_ID}/databases/{YOUR_DATABASE_ID}</property>

Der Speicherort der Anmeldedaten für das JSON-Dienstkonto muss sich in der Umgebungsvariablen GOOGLE_APPLICATION_CREDENTIALS befinden. Andernfalls verwendet der Treiber die in der gcloud-Anwendung der Google Cloud CLI festgelegten Standardanmeldedaten.

Hibernate mit Spanner GoogleSQL verwenden

Weitere Informationen zu den Features und Empfehlungen für Hibernate finden Sie in der Referenzdokumentation auf GitHub.

Nächste Schritte