Integra Spanner al ORM de Hibernate (dialecto de GoogleSQL)

Hibernate es una herramienta de asignación relacional de objetos para el lenguaje de programación Java. Proporciona un framework para asignar un modelo de dominio orientado a objetos a una base de datos relacional.

Puedes integrar bases de datos de dialectos de GoogleSQL con Hibernate a través del código abierto Dialecto de Spanner (SpannerDialect). Spanner es y es compatible con Hibernate ORM 6.x. Spanner Dialect produce declaraciones de SQL, DML y DDL para la mayoría tipos de entidades y relaciones comunes con Hibernate Anotaciones de persistencia de Java

Cómo configurar Hibernate

En tu proyecto, agrega las dependencias de Apache Maven para el núcleo de Hibernate ORM. Dialecto de Spanner, y Spanner es compatible oficialmente Controlador JDBC de código abierto.

<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>

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

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

Usa Hibernate con Spanner de GoogleSQL

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

¿Qué sigue?