Cloud Spanner의 Hibernate ORM

오픈소스인 Cloud Spanner Dialect(SpannerDialect)를 사용하면 Cloud Spanner에서 Hibernate ORM을 사용할 수 있습니다. Cloud Spanner Dialect는 Google Cloud SpannerHibernate ORM 5.4와 호환됩니다. Cloud Spanner Dialect는 표준 Hibernate 및 Java Persistence 주석을 사용하여 가장 일반적인 항목 유형 및 관계에 대한 SQL, DML, DDL 문을 생성합니다.

Cloud Spanner의 Hibernate ORM 설정

Hibernate ORM core, Cloud Spanner Dialect, 오픈소스 JDBC 드라이버가 공식적으로 지원되는 Cloud Spanner의 Apache Maven 종속 항목을 추가합니다.

<dependencies>
  <!-- The Hibernate dialect for Spanner dependency -->
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
    <version>1.4.0</version>
  </dependency>

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

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

Cloud Spanner Dialect 및 Cloud Spanner JDBC 드라이버를 사용하려면 hibernate.cfg.xml을 구성합니다.

<!-- Connection settings -->
<property name="hibernate.dialect">com.google.cloud.spanner.hibernate.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 SDK gcloud 애플리케이션에 설정된 기본 사용자 인증 정보를 사용합니다.

Cloud Spanner에서 Hibernate ORM 사용

Cloud Spanner의 Hibernate ORM 기능과 권장 사항에 대한 자세한 내용은 GitHub의 참조 문서를 참조하세요.

다음 단계

  • Cloud Spanner에서 Hibernate를 사용한 코드 예시를 확인하세요.
  • Hibernate ORM codelab을 사용한 Cloud Spanner를 사용해 보세요.
  • Hibernate ORM에 대해 자세히 알아보세요.
  • GitHub에서 Cloud Spanner Dialect의 저장소를 확인하세요.
  • Cloud Spanner에서의 Hibernate ORM과 관련해 버그를 보고하거나 질문하려면 GitHub 문제를 제출하세요.
  • Apache Maven에 대해 자세히 알아보세요.