Usar o Hibernate para se conectar ao Spanner Omni

O Hibernate ORM é uma ferramenta de mapeamento objeto-relacional (ORM) para a linguagem de programação Java. Ele fornece uma estrutura para mapear um modelo de domínio orientado a objetos para um banco de dados relacional. É possível integrar bancos de dados do dialeto GoogleSQL ao Hibernate usando o dialeto Spanner (SpannerDialect) de código aberto.

Neste documento, descrevemos como configurar o Hibernate para se conectar ao Spanner Omni. O Hibernate se integra ao Spanner Omni da mesma forma que se integra ao Spanner. O Spanner é compatível com o Hibernate ORM 6.x. O dialeto do Spanner gera instruções SQL, DML e DDL para a maioria dos tipos e relacionamentos de entidades comuns usando anotações padrão do Hibernate e do Java Persistence.

Usar o Hibernate com o Spanner Omni permite que você use sua experiência atual com o Hibernate para interagir com seus bancos de dados. Para mais informações, consulte Integrar o Spanner ao Hibernate ORM (dialeto do Spanner) na documentação do Spanner.

Pré-requisitos

Para usar o Hibernate com o Spanner Omni, inclua as seguintes dependências do Maven no seu projeto:

  • Dialeto do Hibernate do Spanner: adicione o seguinte ao arquivo pom.xml. Use a versão 4.3.0 ou mais recente.

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
      <version>4.3.0</version>
    </dependency>
    
  • Driver JDBC do Spanner: adicione o seguinte ao arquivo pom.xml. Use a versão 2.41.0 ou mais recente.

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

Configurar o Hibernate

Configure a classe de driver SpannerDialect e Spanner no arquivo hibernate.properties usando as convenções padrão de dialeto do 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

Substitua:

  • ENDPOINT: o endpoint da sua instância do Spanner Omni, por exemplo, localhost:15000.

  • DATABASE_ID: o ID do banco de dados do Spanner Omni, por exemplo, test-db.

Atualize o hibernate.connection.url para estabelecer uma conexão do Spanner Omni usando sua configuração de segurança. Para mais informações, consulte Estabelecer uma conexão do Spanner Omni. Para tipos de conexão criptografada (TLS, TLS com credenciais e mTLS), adicione o certificado de CA ao truststore do Java. Para mais informações, consulte Configurar o keystore de confiança do Java.