將 Spanner 與 Hibernate ORM (GoogleSQL 方言) 整合

Hibernate 是 Java 程式設計語言的物件關聯對應工具。 這個架構可將物件導向網域模型對應至關聯式資料庫。

您可以使用開放原始碼的 Spanner Dialect (SpannerDialect),將 GoogleSQL 方言資料庫與 Hibernate 整合。Spanner 與 Hibernate ORM 6.x 相容。Spanner Dialect 會使用標準 Hibernate 和 Java Persistence 註解,為大多數常見的實體型別和關係產生 SQL、DML 和 DDL 陳述式。

設定 Hibernate

在專案中,為 Hibernate ORM 核心、Spanner Dialect 和 Spanner 官方支援的開放原始碼 JDBC 驅動程式新增 Apache Maven 依附元件。

<dependencies>
  <!-- The Spanner JDBC driver dependency -->
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-jdbc</artifactId>
  </dependency>

  <!-- Hibernate core dependency -->
  <dependency>
    <groupId>org.hibernate.orm</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>6.4.4.Final</version>
  </dependency>
</dependencies>

設定 hibernate.cfg.xml,使用 Spanner Dialect 和 Spanner JDBC 驅動程式。

<!-- Connection settings -->
<property name="hibernate.dialect">org.hibernate.dialect.SpannerDialect</property>
<property name="hibernate.connection.driver_class">com.google.cloud.spanner.jdbc.JdbcDriver</property>
<property name="hibernate.connection.url">jdbc:cloudspanner:/projects/{YOUR_PROJECT_ID}/instances/{YOUR_INSTANCE_ID}/databases/{YOUR_DATABASE_ID}</property>

服務帳戶 JSON 憑證檔案位置應位於 GOOGLE_APPLICATION_CREDENTIALS 環境變數中。否則,驅動程式會使用 Google Cloud CLI gcloud 應用程式中設定的預設憑證。

搭配使用 Hibernate 與 Spanner GoogleSQL

如要進一步瞭解 Hibernate 的功能和建議,請參閱 GitHub 上的參考說明文件

後續步驟