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.