Hibernate è uno strumento di mappatura relazionale degli oggetti per il linguaggio di programmazione Java. Fornisce un framework per la mappatura di un modello di dominio orientato agli oggetti a un database relazionale.
Puoi integrare i database con dialetto GoogleSQL con Hibernate. Spanner è compatibile con Hibernate ORM 6.x e 7.x. Sia il dialetto integrato sia quello open source producono istruzioni SQL, DML e DDL per i tipi di entità e le relazioni più comuni utilizzando le annotazioni standard di Hibernate e Java Persistence.
Utilizzare l'integrazione Hibernate integrata (Hibernate ORM 7.4+)
A partire da Hibernate ORM 7.4, Hibernate include un dialetto integrato per Spanner (org.hibernate.dialect.SpannerDialect).
Ti consigliamo di utilizzare questo dialetto integrato per i nuovi progetti, in quanto non richiede l'aggiunta della dipendenza esterna google-cloud-spanner-hibernate-dialect.
Il dialetto integrato non include alcune funzionalità e ottimizzazioni disponibili nel dialetto Spanner open source.
Per utilizzare il dialetto integrato, aggiungi le dipendenze Maven per il core di Hibernate ORM e il driver JDBC di Spanner al file pom.xml del progetto.
Per trovare le versioni più recenti di queste dipendenze, consulta le release di Hibernate ORM e le release del driver JDBC di Spanner:
<dependencies>
<!-- Hibernate ORM Core -->
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>7.4.0.Final</version>
</dependency>
<!-- Cloud Spanner JDBC Driver -->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner-jdbc</artifactId>
<version>2.40.0</version>
</dependency>
</dependencies>
Configura il file hibernate.properties del progetto (in genere si trova nella directory src/main/resources) in modo che utilizzi il dialetto Spanner integrato:
hibernate.dialect=org.hibernate.dialect.SpannerDialect
hibernate.connection.driver_class=com.google.cloud.spanner.jdbc.JdbcDriver
hibernate.connection.url=jdbc:cloudspanner:/projects/YOUR-PROJECT/instances/YOUR-INSTANCE/databases/YOUR-DATABASE
Per l'autenticazione con Spanner, il driver JDBC richiede le credenziali. Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul percorso del file JSON delle credenziali dell'account di servizio. In caso contrario, il driver utilizza le credenziali predefinite impostate nell'applicazione gcloud di Google Cloud CLI.
Utilizzare il dialetto Spanner open source
Per i progetti che utilizzano versioni precedenti di Hibernate (6.x o 7.x precedenti alla 7.4) o se hai bisogno di funzionalità e ottimizzazioni non ancora supportate dal dialetto integrato, puoi utilizzare il dialetto Spanner open source.
Per utilizzare il dialetto open source, aggiungi le dipendenze Maven al file pom.xml del progetto:
Configura il file hibernate.properties del progetto in modo che utilizzi il dialetto Spanner open source e il driver JDBC:
hibernate.dialect=com.google.cloud.spanner.hibernate.SpannerDialect
hibernate.connection.driver_class=com.google.cloud.spanner.jdbc.JdbcDriver
hibernate.connection.url=jdbc:cloudspanner:/projects/YOUR-PROJECT/instances/YOUR-INSTANCE/databases/YOUR-DATABASE
Per saperne di più sulle funzionalità e sui consigli per Hibernate quando utilizzi questo dialetto, consulta la documentazione di riferimento su GitHub.
Passaggi successivi
- Dai un'occhiata agli esempi di codice che utilizzano Hibernate con Spanner.
- Prova il codelab Spanner con Hibernate ORM .
- Scopri di più su Hibernate ORM.
- Visualizza il repository per il dialetto Spanner su GitHub.
- Invia una segnalazione su GitHub per segnalare un bug o porre una domanda su Hibernate.
- Scopri di più su Apache Maven.
- Scopri di più su Integrare Spanner con Hibernate ORM (dialetto PostgreSQL).