Hibernate를 사용하여 Spanner Omni에 연결

Hibernate ORM은 Java 프로그래밍 언어용 객체 관계형 매핑(ORM) 도구입니다. 객체 지향 도메인 모델을 관계형 데이터베이스에 매핑하기 위한 프레임워크를 제공합니다. 오픈소스 Spanner 언어(SpannerDialect)를 사용하여 GoogleSQL 언어 데이터베이스를 Hibernate와 통합할 수 있습니다.

이 문서에서는 Spanner Omni에 연결하도록 Hibernate를 구성하는 방법을 설명합니다. Hibernate는 Spanner와 통합되는 방식과 동일한 방식으로 Spanner Omni와 통합됩니다. Spanner는 Hibernate ORM 6.x와 호환됩니다. Spanner 다이얼렉트는 표준 Hibernate 및 Java Persistence 주석을 사용하여 가장 일반적인 항목 유형과 관계에 사용되는 SQL, DML, DDL 문을 생성합니다.

Spanner Omni와 함께 Hibernate를 사용하면 기존 Hibernate 환경을 사용하여 데이터베이스와 상호작용할 수 있습니다. 자세한 내용은 Spanner 문서의 Spanner를 Hibernate ORM과 통합하는 방법 (Spanner 언어)을 참고하세요.

기본 요건

Spanner Omni와 함께 Hibernate를 사용하려면 프로젝트에 다음 Maven 종속 항목을 포함하세요.

  • Spanner Hibernate 언어: pom.xml 파일에 다음을 추가합니다. 버전 4.3.0 이상을 사용합니다.

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
      <version>4.3.0</version>
    </dependency>
    
  • Spanner JDBC 드라이버: pom.xml 파일에 다음을 추가합니다. 버전 2.41.0 이상을 사용합니다.

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-jdbc</artifactId>
      <version>2.41.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?type=omni

다음을 바꿉니다.

  • ENDPOINT: Spanner Omni 인스턴스의 엔드포인트입니다(예: localhost:15000).

  • DATABASE_ID: Spanner Omni 데이터베이스의 ID(예: test-db)

보안 구성을 사용하여 Spanner Omni 연결을 설정하도록 hibernate.connection.url를 업데이트합니다. 자세한 내용은 Spanner Omni 연결 설정을 참고하세요. 암호화된 연결 유형 (TLS, 사용자 인증 정보가 있는 TLS, mTLS)의 경우 CA 인증서를 Java 신뢰 저장소에 추가합니다. 자세한 내용은 Java 트러스트 저장소 구성을 참고하세요.