Technical NOTE
Hibernate 5 버전을 사용하기 위한 라이브러리 파일 목록 본문
Hibernate 5를 사용하기 위해 필요한 주요 라이브러리 파일 목록은 다음과 같습니다. 각 라이브러리는 Hibernate의 핵심 기능과 관련된 모듈을 지원하며, 데이터베이스와의 연결, 엔터티 관리, 캐싱, 트랜잭션 관리 등을 포함합니다.
1. 기본 Hibernate 5 라이브러리
핵심 라이브러리 (Core)
- hibernate-core-5.x.x.jar: Hibernate의 핵심 라이브러리로, ORM 기능을 제공합니다.
- hibernate-entitymanager-5.x.x.jar: JPA 2.1 구현체로, JPA 표준 API를 지원합니다.
JPA 관련 라이브러리
- hibernate-jpa-2.1-api-1.x.x.jar: JPA 2.1 API를 구현한 라이브러리입니다. Hibernate 5는 기본적으로 JPA 2.1/2.2를 지원합니다.
트랜잭션 및 JDBC 라이브러리
- javax.transaction-api-1.2.jar: Java Transaction API(JTA)를 위한 라이브러리입니다. Hibernate가 트랜잭션을 관리할 때 필요합니다.
- javax.persistence-api-2.2.jar: JPA 2.2 표준 인터페이스를 제공하는 라이브러리입니다.
SQL Dialect 라이브러리
Hibernate는 다양한 데이터베이스에 맞는 Dialect를 사용하여 SQL을 생성합니다. Dialect 라이브러리는 기본적으로 hibernate-core
에 포함되어 있으나, 특정 데이터베이스에 맞는 Dialect 설정이 필요합니다. 예를 들어:
- org.hibernate.dialect.MySQLDialect: MySQL을 사용하는 경우.
- org.hibernate.dialect.OracleDialect: Oracle을 사용하는 경우.
2. 필수 의존성 라이브러리
Hibernate 5는 다른 서드파티 라이브러리와도 밀접하게 통합되어 있으므로, 다음 의존성 라이브러리도 필요합니다.
- dom4j-1.6.1.jar: XML 처리용 라이브러리로, Hibernate에서 XML 매핑을 지원할 때 사용됩니다.
- javassist-3.21.x-GA.jar: 바이트코드 조작을 위한 라이브러리로, 프록시 생성과 관련된 기능을 제공합니다.
- antlr-2.7.7.jar: 쿼리 언어 파싱에 사용되는 라이브러리로, Hibernate의 HQL 쿼리 파서를 지원합니다.
- javax.activation-api-1.2.0.jar: JPA에서 메타 데이터 처리를 위한 라이브러리입니다.
- javax.validation-api-2.0.1.Final.jar: Bean Validation API 라이브러리로, Hibernate Validator와 통합할 때 필요합니다.
3. Hibernate Validator (선택)
Hibernate 5와 함께 Hibernate Validator를 사용하려면 다음 라이브러리가 추가적으로 필요합니다.
- hibernate-validator-6.x.x.Final.jar: Hibernate의 Bean Validation 구현체입니다.
- validation-api-2.0.1.Final.jar: Bean Validation 표준 API를 제공합니다.
- classmate-1.3.x.jar: Hibernate Validator에서 Java 클래스를 분석할 때 사용하는 라이브러리입니다.
4. 캐싱 라이브러리 (선택)
Hibernate에서 2차 캐시를 사용할 경우, 캐시 제공자에 맞는 라이브러리를 추가해야 합니다.
- ehcache-2.x.x.jar: Hibernate에서 사용 가능한 2차 캐시 제공 라이브러리.
- infinispan-9.x.x.Final.jar: Infinispan 기반의 캐시를 사용하는 경우 필요한 라이브러리.
5. 로깅 라이브러리
Hibernate는 로깅을 위한 다양한 프레임워크와 호환되므로, 다음과 같은 로깅 관련 라이브러리도 필요할 수 있습니다.
- slf4j-api-1.7.x.jar: Hibernate는 SLF4J를 통해 로깅을 추상화합니다.
- slf4j-simple-1.7.x.jar (또는 다른 구현체): SLF4J의 간단한 로깅 구현체입니다.
6. JDBC 드라이버 (데이터베이스별)
Hibernate는 데이터베이스와 연결을 위해 JDBC 드라이버가 필요합니다. 사용 중인 데이터베이스에 따라 드라이버가 달라집니다.
- mysql-connector-java-8.x.x.jar: MySQL JDBC 드라이버.
- ojdbc8.jar: Oracle JDBC 드라이버.
- postgresql-42.x.x.jar: PostgreSQL JDBC 드라이버.
7. 기타
- c3p0-0.9.5.x.jar 또는 HikariCP: Hibernate는 기본적으로 내부 커넥션 풀을 제공하지만, 고성능 커넥션 풀 라이브러리(예: c3p0 또는 HikariCP)를 추가할 수 있습니다.
종합 목록 (라이브러리 리스트)
라이브러리 | 설명 |
---|---|
hibernate-core-5.x.x.jar | Hibernate의 핵심 ORM 라이브러리 |
hibernate-entitymanager-5.x.x.jar | JPA 구현체 |
hibernate-jpa-2.1-api-1.x.x.jar | JPA 2.1 API 구현체 |
javax.transaction-api-1.2.jar | JTA 트랜잭션 관리 |
javax.persistence-api-2.2.jar | JPA 2.2 표준 API |
dom4j-1.6.1.jar | XML 매핑 지원 |
javassist-3.21.x-GA.jar | 바이트코드 조작을 위한 라이브러리 |
antlr-2.7.7.jar | HQL 쿼리 파서 |
javax.activation-api-1.2.0.jar | 메타 데이터 처리용 |
javax.validation-api-2.0.1.Final.jar | Bean Validation API |
hibernate-validator-6.x.x.Final.jar | Hibernate Validator 구현체 |
classmate-1.3.x.jar | Validator의 Java 클래스 분석 도구 |
slf4j-api-1.7.x.jar | 로깅 API 추상화 |
slf4j-simple-1.7.x.jar | 간단한 로깅 구현체 |
mysql-connector-java-8.x.x.jar | MySQL JDBC 드라이버 |
결론
Hibernate 5를 사용하기 위해서는 핵심 라이브러리인 hibernate-core
와 JPA 구현체 hibernate-entitymanager
가 필요하며, 추가적으로 데이터베이스에 맞는 JDBC 드라이버, Bean Validation, 트랜잭션 관리 등의 라이브러리가 필요합니다.