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 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 des types d'entités et des relations courants à l'aide des modèles Hibernate et Annotations Java Persistence

Configurer Hibernate

Dans votre projet, ajoutez des dépendances Apache Maven pour Hibernate ORM Core. Dialecte Spanner, Cloud Spanner est officiellement compatible Pilote JDBC Open Source.

<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