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 vers une base de données relationnelle.

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

Configurer Hibernate

Dans votre projet, ajoutez des dépendances Apache Maven pour le cœur 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. Dans le cas contraire, le pilote utilisera les identifiants par défaut définis dans l'application gcloud de la Google Cloud CLI.

Utiliser Hibernate avec Spanner GoogleSQL

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

Étapes suivantes