Technical NOTE
Hibernate 4 버전을 사용하기 위한 라이브러리 파일 목록 본문
반응형
Hibernate 4 버전을 사용하려면 여러 개의 라이브러리 파일(JAR 파일)이 필요합니다. 이들 라이브러리는 Hibernate의 핵심 기능 외에도 추가적으로 트랜잭션 관리, 캐싱, 로깅, 데이터베이스 연결 등 다양한 기능을 수행하는 데 필요합니다.
Hibernate 4 버전을 사용하기 위한 필수 라이브러리와 선택적으로 사용 가능한 라이브러리는 아래와 같습니다.
1. 필수 라이브러리 목록
- hibernate-core: Hibernate의 핵심 라이브러리로, ORM 및 데이터베이스 상호작용을 관리합니다.
hibernate-core-4.x.x.jar
- JPA 구현체: Hibernate 4는 JPA 2.0을 지원하므로
javax.persistence
API 라이브러리가 필요합니다.javax.persistence-api-2.x.jar
- dom4j: XML 매핑 및 처리에 필요한 라이브러리입니다.
dom4j-1.6.1.jar
- antlr: Hibernate가 SQL 문을 분석하기 위해 사용하는 라이브러리입니다.
antlr-2.7.7.jar
- javassist: 런타임 시 바이트코드를 조작하는 데 필요한 라이브러리입니다.
javassist-3.x.x.jar
- JTA (Java Transaction API): 트랜잭션 관리를 위해 JTA 라이브러리가 필요합니다.
jta-1.1.jar
(또는javax.transaction-api
)
2. 추가 라이브러리 (옵션)
- hibernate-commons-annotations: Hibernate Annotations 사용을 위해 필요한 라이브러리입니다.
hibernate-commons-annotations-4.x.x.jar
- hibernate-entitymanager: JPA EntityManager 기능을 사용하려면 필요합니다.
hibernate-entitymanager-4.x.x.jar
- hibernate-validator: Bean Validation(JSR 303) 지원을 위해 필요한 라이브러리입니다.
hibernate-validator-4.x.x.jar
- hibernate-envers: 엔터티 감사(Auditing)를 위한 라이브러리입니다.
hibernate-envers-4.x.x.jar
- ehcache: 2차 캐시를 위해 사용하는 캐시 라이브러리입니다.
ehcache-core-2.x.x.jar
- c3p0 또는 HikariCP: 커넥션 풀링(Connection Pooling)을 위해 사용할 수 있는 라이브러리입니다.
c3p0-0.9.1.jar
또는hikaricp-2.x.x.jar
- slf4j 및 log4j: 로깅을 위해 Hibernate는 SLF4J 및 Log4j 라이브러리를 사용합니다.
slf4j-api-1.x.x.jar
log4j-1.2.x.jar
또는logback-classic-1.x.x.jar
3. JDBC 드라이버 (데이터베이스에 따라 필요)
Hibernate는 데이터베이스와의 상호작용을 위해 JDBC 드라이버가 필요합니다. 사용 중인 데이터베이스에 따라 해당 드라이버를 추가해야 합니다. 예시로 몇 가지 JDBC 드라이버를 나열하면:
- MySQL:
mysql-connector-java-x.x.x.jar
- PostgreSQL:
postgresql-x.x.x.jar
- Oracle:
ojdbc6.jar
또는ojdbc7.jar
- H2:
h2-x.x.x.jar
4. 기타 (선택 사항)
- commons-logging: 로깅을 위한 Commons Logging 라이브러리입니다.
commons-logging-1.2.jar
- Apache Commons 라이브러리: Hibernate가 내부적으로 사용하는 일부 기능을 제공합니다.
commons-collections-x.x.x.jar
commons-lang-x.x.x.jar
commons-pool-x.x.x.jar
의존성 관리 방법
일반적으로 Hibernate를 사용하는 프로젝트는 Maven 또는 Gradle과 같은 빌드 도구를 사용하여 의존성을 관리합니다. 아래는 Maven을 사용하는 경우의 의존성 목록 예시입니다.
<dependencies>
<!-- Hibernate Core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.11.Final</version>
</dependency>
<!-- JPA API -->
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.1</version>
</dependency>
<!-- JTA API -->
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<!-- Javassist -->
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.18.1-GA</version>
</dependency>
<!-- SLF4J for Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<!-- JDBC Driver for your database (example: MySQL) -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
<!-- Additional dependencies like hibernate-validator, envers, etc. -->
</dependencies>
Hibernate 4.x를 사용하는 프로젝트에 필요한 라이브러리는 주로 hibernate-core
와 함께 JPA 표준 라이브러리, JDBC 드라이버, 로깅, 트랜잭션 관리 라이브러리 등이 포함됩니다.
반응형