Intégrer Spanner à Hibernate ORM (dialecte GoogleSQL)

Hibernate est un outil de mappage objet-relationnel pour le langage de programmation Java. Il fournit un framework permettant de mapper un modèle de domaine orienté objet sur une base de données relationnelle.

Vous pouvez intégrer des bases de données de dialecte GoogleSQL à Hibernate à l'aide de l'Open Source Dialecte Spanner (SpannerDialect). Spanner est compatible avec Hibernate ORM 6.x. Le dialecte 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

Dans votre projet, ajoutez les dépendances Apache Maven pour le cœur Hibernate ORM, le dialecte Spanner et le pilote JDBC Open Source officiellement accepté pour 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>

Configurer hibernate.cfg.xml pour utiliser le dialecte Spanner et Pilote 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>

L'emplacement du fichier d'identifiants JSON du compte de service doit se trouver dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS. Le pilote utilisera les identifiants par défaut définis dans l'application Google Cloud CLI gcloud.

Utiliser Hibernate avec Spanner GoogleSQL

Pour en savoir plus sur les fonctionnalités et les recommandations Hibernate, veuillez consulter le documentation de référence sur GitHub.

Étape suivante