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 produz instruções SQL, DML e DDL para os tipos de entidade e relacionamentos mais 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.2.1 ou mais recente.

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

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

Configurar o Hibernate

Configure a classe de driver SpannerDialect e do Spanner no arquivo hibernate.properties usando 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?isExperimentalHost=true

Atualize o hibernate.connection.url para o protocolo de conexão específico (texto simples, TLS ou mTLS) usado pela sua instância do Spanner Omni. Para mais informações, consulte Estabelecer uma conexão do Spanner Omni. Para modos seguros, adicione o certificado de CA ao truststore do Java ou transmita-o diretamente ao executar o aplicativo, conforme descrito nas instruções de TLS do SDK Java.