Usa Hibernate para conectarte a Spanner Omni

Hibernate ORM es una herramienta de asignación relacional de objetos (ORM) 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 con dialecto de GoogleSQL en Hibernate con el dialecto de Spanner de código abierto (SpannerDialect).

En este documento, se describe cómo configurar Hibernate para conectarse a Spanner Omni. Hibernate se integra en Spanner Omni de la misma manera en que se integra en Spanner. Spanner es compatible con Hibernate ORM 6.x. El dialecto de Spanner genera instrucciones de SQL, DML y DDL para la mayoría de los tipos de entidades y relaciones comunes con las anotaciones estándar de Hibernate y Java Persistence.

Si usas Hibernate con Spanner Omni, puedes aprovechar tu experiencia existente con Hibernate para interactuar con tus bases de datos. Para obtener más información, consulta Integra Spanner con Hibernate ORM (dialecto de Spanner) en la documentación de Spanner.

Requisitos previos

Para usar Hibernate con Spanner Omni, incluye las siguientes dependencias de Maven en tu proyecto:

  • Dialecto de Hibernate de Spanner: Agrega lo siguiente a tu archivo pom.xml. Usa la versión 4.3.0 o una posterior.

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
      <version>4.3.0</version>
    </dependency>
    
  • Controlador JDBC de Spanner: Agrega lo siguiente a tu archivo pom.xml. Usa la versión 2.41.0 o una posterior.

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-jdbc</artifactId>
      <version>2.41.0</version>
    </dependency>
    

Cómo configurar Hibernate

Configura la clase del controlador SpannerDialect y Spanner en el archivo hibernate.properties con las convenciones estándar del dialecto de Hibernate:

hibernate.dialect=com.google.cloud.spanner.hibernate.SpannerDialect
hibernate.connection.driver_class=com.google.cloud.spanner.jdbc.JdbcDriver
hibernate.connection.url=jdbc:spanner://ENDPOINT/databases/DATABASE_ID?type=omni

Reemplaza lo siguiente:

  • ENDPOINT: Es el extremo de tu instancia de Spanner Omni, por ejemplo, localhost:15000.

  • DATABASE_ID: Es el ID de tu base de datos de Spanner Omni, por ejemplo, test-db.

Actualiza hibernate.connection.url para establecer una conexión de Spanner Omni con tu configuración de seguridad. Para obtener más información, consulta Cómo establecer una conexión de Spanner Omni. Para los tipos de conexión encriptada (TLS, TLS con credenciales y mTLS), agrega el certificado de la AC al almacén de certificados de confianza de Java. Para obtener más información, consulta Configura el almacén de confianza de Java.