Hibernate ORM avec Cloud Spanner

Vous pouvez utiliser Hibernate ORM avec Cloud Spanner à l'aide du dialecte Open Source Cloud Spanner (SpannerDialect). Le dialecte Cloud Spanner est compatible avec Hibernate ORM 5.4 pour Google Cloud Spanner. Le dialecte Cloud Spanner génère des instructions SQL, LMD et LDD pour la plupart des types d'entités et des relations avec les annotations Hibernate et Java Persistence standards.

Configurer Hibernate ORM avec Cloud Spanner

Ajoutez les dépendances Apache Maven pour le cœur Hibernate ORM, le dialecte Cloud Spanner et le pilote JDBC Open Source officiellement accepté pour Cloud Spanner.

<dependencies>
  <!-- The Hibernate dialect for Spanner dependency -->
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
    <version>1.2.0</version>
  </dependency>

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

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

Configurez hibernate.cfg.xml de sorte à utiliser le dialecte Cloud Spanner et le pilote JDBC Cloud Spanner.

<!-- Connection settings -->
<property name="hibernate.dialect">com.google.cloud.spanner.hibernate.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>

L'emplacement du fichier d'identifiants JSON du compte de service doit se trouver dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS. Dans le cas contraire, le pilote utilise les identifiants par défaut définis dans l'application gcloud du SDK Google Cloud.

Utiliser Hibernate ORM avec Cloud Spanner

Pour en savoir plus sur les fonctionnalités et les recommandations relatives à Hibernate ORM avec Cloud Spanner, veuillez consulter la documentation de référence sur GitHub.

Étapes suivantes