Hibernate ORM 是适用于 Java 编程语言的对象关系映射 (ORM) 工具。它提供了一个框架,用于将面向对象的网域模型映射到关系型数据库。您可以使用开源 Spanner 方言 (SpannerDialect) 将 GoogleSQL 方言数据库与 Hibernate 集成。
本文档介绍了如何配置 Hibernate 以连接到 Spanner Omni。Hibernate 与 Spanner Omni 的集成方式与它与 Spanner 的集成方式相同。Spanner 与 Hibernate ORM 6.x 兼容。Spanner 方言使用标准 Hibernate 和 Java Persistence 注解为大多数常见实体类型和关系生成 SQL、DML 和 DDL 语句。
将 Hibernate 与 Spanner Omni 搭配使用,可让您利用现有的 Hibernate 经验与数据库进行交互。如需了解详情,请参阅 Spanner 文档中的将 Spanner 与 Hibernate ORM 集成(Spanner 方言)。
前提条件
如需将 Hibernate 与 Spanner Omni 搭配使用,请在项目中添加以下 Maven 依赖项:
Spanner Hibernate 方言:将以下内容添加到
pom.xml文件中。使用版本 4.2.1 或更高版本。<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-spanner-hibernate-dialect</artifactId> <version>4.2.1</version> </dependency>Spanner JDBC 驱动程序:将以下内容添加到
pom.xml文件。使用版本 2.35.0 或更高版本。<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-spanner-jdbc</artifactId> <version>2.35.0</version> </dependency>
配置 Hibernate
使用标准 Hibernate 方言惯例在 hibernate.properties 文件中配置 SpannerDialect 和 Spanner 驱动程序类:
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
更新 Spanner Omni 实例使用的特定连接协议(纯文本、TLS 或 mTLS)的 hibernate.connection.url。
如需了解详情,请参阅建立 Spanner Omni 连接。
对于安全模式,请将 CA 证书添加到 Java 信任库,或在运行应用时直接传递该证书,如 Java SDK TLS 说明中所述。