Intégrer Spanner à Hibernate ORM (dialecte GoogleSQL)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Hibernate est un outil de mappage objet-relationnel pour le langage de programmation Java.
Il fournit un framework permettant de mapper un modèle de domaine orienté objet à une base de données relationnelle.
Vous pouvez intégrer des bases de données au dialecte GoogleSQL à Hibernate à l'aide du dialecte Spanner Open Source (SpannerDialect). Spanner est compatible avec Hibernate ORM 6.x.
Le dialecte Spanner génère des instructions SQL, LMD et LDD pour la plupart des types d'entités et des relations avec les annotations Hibernate et Java Persistence standards.
Configurer Hibernate
Dans votre projet, ajoutez les dépendances Apache Maven pour le cœur Hibernate ORM, le dialecte Spanner et le pilote JDBC Open Source officiellement accepté pour Spanner.
L'emplacement du fichier d'identifiants JSON du compte de service doit se trouver dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS. Dans le cas contraire, le pilote utilise les identifiants par défaut définis dans l'application gcloud de Google Cloud CLI.
Utiliser Hibernate avec Spanner GoogleSQL
Pour en savoir plus sur les fonctionnalités et les recommandations relatives à Hibernate, consultez la documentation de référence sur GitHub.
Étapes suivantes
Consultez des exemples de code utilisant Hibernate avec Spanner.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[],[],null,["# Integrate Spanner with Hibernate ORM (GoogleSQL dialect)\n\nHibernate is an object-relational mapping tool for the Java programming language.\nIt provides a framework for mapping an object-oriented domain model to a relational database.\n\nYou can integrate GoogleSQL-dialect databases with Hibernate using the open source\n[Spanner Dialect](https://github.com/GoogleCloudPlatform/google-cloud-spanner-hibernate)\n(`SpannerDialect`). Spanner is\ncompatible with [Hibernate ORM 6.x](https://hibernate.org/orm/).\nSpanner Dialect produces SQL, DML, and DDL statements for most\ncommon entity types and relationships using standard Hibernate and\nJava Persistence annotations.\n\nSet up Hibernate\n----------------\n\nIn your project, add Apache Maven dependencies for Hibernate ORM core,\n[Spanner Dialect](https://github.com/GoogleCloudPlatform/google-cloud-spanner-hibernate),\nand the Spanner officially supported\n[Open Source JDBC driver](/spanner/docs/use-oss-jdbc). \n\n \u003cdependencies\u003e\n \u003c!-- The Spanner JDBC driver dependency --\u003e\n \u003cdependency\u003e\n \u003cgroupId\u003ecom.google.cloud\u003c/groupId\u003e\n \u003cartifactId\u003egoogle-cloud-spanner-jdbc\u003c/artifactId\u003e\n \u003c/dependency\u003e\n\n \u003c!-- Hibernate core dependency --\u003e\n \u003cdependency\u003e\n \u003cgroupId\u003eorg.hibernate.orm\u003c/groupId\u003e\n \u003cartifactId\u003ehibernate-core\u003c/artifactId\u003e\n \u003cversion\u003e6.4.4.Final\u003c/version\u003e\n \u003c/dependency\u003e\n \u003c/dependencies\u003e\n\nConfigure `hibernate.cfg.xml` to use Spanner Dialect and\nSpanner JDBC Driver. \n\n \u003c!-- Connection settings --\u003e\n \u003cproperty name=\"hibernate.dialect\"\u003eorg.hibernate.dialect.SpannerDialect\u003c/property\u003e\n \u003cproperty name=\"hibernate.connection.driver_class\"\u003ecom.google.cloud.spanner.jdbc.JdbcDriver\u003c/property\u003e\n \u003cproperty name=\"hibernate.connection.url\"\u003ejdbc:cloudspanner:/projects/{YOUR_PROJECT_ID}/instances/{YOUR_INSTANCE_ID}/databases/{YOUR_DATABASE_ID}\u003c/property\u003e\n\nThe [service account JSON credentials](/docs/authentication/getting-started)\nfile location should be in the `GOOGLE_APPLICATION_CREDENTIALS`\nenvironment variable. The driver will use default credentials set\nin the Google Cloud CLI `gcloud` application otherwise.\n\nUse Hibernate with Spanner GoogleSQL\n------------------------------------\n\nFor more information about the features and recommendations for\nHibernate, consult the\n[reference documentation](https://github.com/GoogleCloudPlatform/google-cloud-spanner-hibernate/blob/-/README.adoc)\non GitHub.\n\nWhat's next\n-----------\n\n- Checkout [code examples](https://github.com/GoogleCloudPlatform/google-cloud-spanner-hibernate/blob/-/google-cloud-spanner-hibernate-samples) using Hibernate with Spanner.\n- Try the Spanner with Hibernate ORM [codelab](https://codelabs.developers.google.com/codelabs/cloud-spanner-hibernate).\n- Learn more about [Hibernate ORM](https://hibernate.org/orm/).\n- View the repository for [Spanner Dialect](https://github.com/GoogleCloudPlatform/google-cloud-spanner-hibernate) on GitHub.\n- [File a GitHub issue](https://github.com/GoogleCloudPlatform/google-cloud-spanner-hibernate/issues) to report a bug or ask a question about Hibernate.\n- Learn more about [Apache Maven](https://maven.apache.org/).\n- Learn more about [Integrate Spanner with Hibernate ORM (PostgreSQL dialect)](/spanner/docs/use-hibernate-postgresql)."]]