Hibernate
Hibernate#
Altibase는 비표준 SQL을 제공하며, Hibernate 는 이러한 기능을 수행할 수 있도록 Dialect 클래스를 지원한다. Hibernate 에서 Altibase 를 연동하려면 Altibase 의 JDBC Driver 를 설정하고, Hibernate 의 configuration 에 AltibaseDialect.class 를 지정해야 한다.
AltibaseDialect#
Hibernate 6.4 부터 공식 지원#
Hibernate 6.4 부터는 AltibaseDialect가 Hibernate ORM 패키지에 포함되었다. 이제 AltibaseDialect를 사용하려면 Maven 의존성 설정만 추가하면 된다.
Hibernate 6.4 이전#
Hibernate 6.4 이전 버전에서는 AltibaseDialect가 없으므로, AltibaseDialect.class 를 직접 지정해야 한다. 이를 위해서는 Altibase 에서 제공하는 AltibaseDialect.java 파일 (필요에 따라 AltibaseLimitHandler.java 포함)을 컴파일하고 Hibernate 가 제공하는 파일에 포팅해야 사용할 수 있다. AltibaseDialect.java 파일과 AltibaseLimitHandler.java 파일은 Altibase Github 사이트에서 제공한다. 상세한 사용 방법은 AltibaseDialect 포팅 방법 을 참고한다.
Maven 의존성(Dependency) 설정#
AltibaseDialect 의존성 추가#
Hibernate 6.4 부터 hibernate-community-dialects에 AltibaseDialect가 포함되었기 때문에, 아래와 같이 의존성을 추가하면 된다.
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-community-dialects</artifactId>
<version>6.4.1.Final</version>
</dependency>
Altibase JDBC 드라이버 의존성 추가#
Altibase 7.3.0.0.2부터 Maven Central Repository에서 Altibase JDBC 드라이버를 다운로드할 수 있어서, 아래와 같이 의존성을 추가하면 된다.
<dependency>
<groupId>com.altibase</groupId>
<artifactId>altibase-jdbc</artifactId>
<version>7.3.0.0.2</version>
</dependency>
Lob 관련 연결 속성#
Altibase 7.1에서는 Lob 칼럼 값이 null인 경우, ResultSet.getBlob(), ResultSet.getClob() 수행시 Lob객체를 반환하기 때문에 lob_null_select 연결 속성의 값을 "off"로 변경해야 했다. 그러나 Altibase 7.3 부터는 lob_null_select
연결 속성의 기본값이 off로 변경됨에 따라, 더이상 연결 속성을 변경하지 않아도 된다.