Hibernate ORM con Cloud Spanner

Puedes usar Hibernate ORM con Cloud Spanner mediante Cloud Spanner Dialect de código abierto (SpannerDialect). Este último es compatible con Hibernate ORM 5.4 para Google Cloud Spanner. Cloud Spanner Dialect genera declaraciones de SQL, DML y DDL para los tipos de entidades y relaciones más comunes mediante las anotaciones estándar de Hibernate y Java Persistence.

Configura Hibernate ORM con Cloud Spanner

Agrega las dependencias de Apache Maven para el núcleo de Hibernate ORM, Cloud Spanner Dialect, y el controlador JDBC de código abierto compatible a nivel oficial con 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>

Configura hibernate.cfg.xml para usar Cloud Spanner Dialect y el controlador JDBC de 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>

La ubicación del archivo de credenciales JSON de la cuenta de servicio debe estar en la variable de entorno GOOGLE_APPLICATION_CREDENTIALS. De lo contrario, el controlador usará las credenciales predeterminadas establecidas en la aplicación gcloud del SDK de Google Cloud.

Usa Hibernate ORM con Cloud Spanner

Para obtener más información sobre las funciones y recomendaciones de Hibernate ORM con Cloud Spanner, consulta la documentación de referencia en GitHub.

Próximos pasos