Spanner를 Hibernate ORM과 통합(GoogleSQL 언어)

Hibernate는 자바 프로그래밍 언어용 객체 관계형 매핑 도구입니다. 객체 지향 도메인 모델을 관계형 데이터베이스에 매핑하기 위한 프레임워크를 제공합니다.

오픈소스 Spanner 언어(SpannerDialect)를 사용하여 GoogleSQL 언어 데이터베이스를 Hibernate와 통합할 수 있습니다. Spanner는 Hibernate ORM 6.x과 호환됩니다. Spanner Dialect는 표준 Hibernate 및 Java Persistence 주석을 사용하여 가장 일반적인 항목 유형과 관계에 사용되는 SQL, DML, DDL 문을 생성합니다.

Hibernate 설정

프로젝트에서 Hibernate ORM core, Spanner 언어 및 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>

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

<!-- 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 애플리케이션에 설정된 기본 사용자 인증 정보를 사용합니다.

Spanner GoogleSQL에서 Hibernate 사용

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

다음 단계