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 marco de trabajo 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 con Spanner Omni de la misma manera en que se integra con 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 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.2.1 o una posterior.

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

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

Configura Hibernate

Configura la clase de 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?isExperimentalHost=true

Actualiza el hibernate.connection.url para el protocolo de conexión específico (texto simple, TLS o mTLS) que usa tu instancia de Spanner Omni. Para obtener más información, consulta Cómo establecer una conexión de Spanner Omni. En el caso de los modos seguros, agrega el certificado de la AC al almacén de confianza de Java o pásalo directamente cuando ejecutes la aplicación, como se describe en las instrucciones de TLS del SDK de Java.