Spanner in Hibernate ORM (GoogleSQL-Dialekt) einbinden

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

Sie können GoogleSQL-Dialekt-Datenbanken über das Open-Source-Tool Hibernate in Spanner-Dialekt (SpannerDialect). Spanner ist kompatibel mit Hibernate ORM 6.x. Der Spanner-Dialekt erstellt SQL-, DML- und DDL-Anweisungen für die meisten Entitätstypen und Beziehungen unter Verwendung der standardmäßigen Hibernate- und Java-Persistenzanmerkungen.

Ruhemodus einrichten

Fügen Sie in Ihrem Projekt Apache Maven-Abhängigkeiten für Hibernate ORM Core hinzu. Spanner-Dialekt, und Spanner wurde offiziell Open-Source-JDBC-Treiber.

<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. Der Treiber verwendet die Standardanmeldedaten Andernfalls in der gcloud-Anwendung der Google Cloud CLI ein.

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