Spanner in Hibernate ORM (GoogleSQL-Dialekt) einbinden

Hibernate ist ein Tool für die objektrelationale Zuordnung für die Programmiersprache Java. Es bietet ein Framework für die Zuordnung eines objektorientierten Domänenmodells zu einer relationalen Datenbank.

Sie können Datenbanken mit GoogleSQL-Dialekt mit Hibernate über den Open Source-Dialekt für Spanner (SpannerDialect) einbinden. Spanner ist mit Hibernate ORM 6.x kompatibel. Der Spanner-Dialekt erstellt SQL-, DML- und DDL-Anweisungen für die gängigsten Entitätstypen und -beziehungen. Dazu werden standardmäßige Hibernate- und Java Persistence-Anmerkungen verwendet.

Ruhezustand einrichten

Fügen Sie in Ihrem Projekt Apache Maven-Abhängigkeiten für den Hibernate ORM-Kern, den Spanner-Dialekt und den von Spanner offiziell unterstützten Open Source-JDBC-Treiber 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 JDBC-Treibers von Spanner.

<!-- 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 des Google Cloud CLI festgelegten Standardanmeldedaten.

Hibernate mit Spanner GoogleSQL verwenden

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

Nächste Schritte