Spanner in Hibernate ORM (GoogleSQL-Dialekt) einbinden

Hibernate ist ein objektrelationales Mapping-Tool für die Java-Programmiersprache. Es bietet ein Framework zum Zuordnen eines objektorientierten Domainmodells zu einer relationalen Datenbank.

Sie können GoogleSQL-Dialekt-Datenbanken mit Hibernate mithilfe des Open-Source-Spanner-Dialects (SpannerDialect) integrieren. 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.

Ruhemodus einrichten

Fügen Sie 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 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 Funktionen und Empfehlungen für Hibernate finden Sie in der Referenzdokumentation auf GitHub.

Nächste Schritte