Intégrer Spanner à Hibernate ORM (dialecte GoogleSQL)

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

Vous pouvez intégrer des bases de données de dialecte GoogleSQL à Hibernate à l'aide du dialecte Spanner Open Source (SpannerDialect). Spanner est compatible avec Hibernate ORM 6.3. Le dialecte Spanner génère des instructions SQL, LMD et LDD pour la plupart des relations et des types d'entités courants à l'aide des annotations Hibernate et Java Persistence standards.

Configurer Hibernate

Dans votre projet, ajoutez des dépendances Apache Maven pour le noyau Hibernate ORM, le dialecte Spanner et le pilote JDBC Open Source officiellement compatible avec 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>

Configurez hibernate.cfg.xml pour utiliser le dialecte Spanner et le 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. Sinon, 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 concernant Hibernate, veuillez consulter la documentation de référence sur GitHub.

Étapes suivantes