Integrare Spanner con Hibernate ORM (dialetto GoogleSQL)

Hibernate è uno strumento di mappatura oggetto-relazionale per il linguaggio di programmazione Java. Fornisce un framework per mappare un modello di dominio orientato agli oggetti a un database relazionale.

Puoi integrare i database con il dialetto GoogleSQL con Hibernate utilizzando il dialetto Spanner (SpannerDialect) open source. Spanner è compatibile con Hibernate ORM 6.x. Il dialetto Spanner genera istruzioni SQL, DML e DDL per i tipi di entità e le relazioni più comuni utilizzando le annotazioni standard di Hibernate e Java Persistence.

Configurare la modalità Sospensione

Nel progetto, aggiungi le dipendenze Apache Maven per il core ORM di Hibernate, il dialetto Spanner e il driver JDBC open source supportato ufficialmente da Spanner.

<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>

Configura hibernate.cfg.xml in modo da utilizzare il dialetto Spanner e il driver JDBC 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>

La posizione del file delle credenziali JSON dell'account di servizio deve trovarsi nella variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS. In caso contrario, il driver utilizzerà le credenziali predefinite impostate nell'applicazione gcloud Google Cloud CLI.

Utilizzare Hibernate con Spanner GoogleSQL

Per ulteriori informazioni sulle funzionalità e sui consigli per Hibernate, consulta la documentazione di riferimento su GitHub.

Passaggi successivi