[java] Hibernate에서 데이터베이스 연결(Connection) 설정하는 방법은?

Hibernate는 자바 객체와 데이터베이스 간의 매핑을 도와주는 ORM(Object-Relational Mapping) 프레임워크입니다. Hibernate를 사용하여 데이터베이스와 연결하기 위해서는 데이터베이스 연결 설정을 해야 합니다.

이 포스트에서는 Hibernate에서 데이터베이스 연결(Connection)을 설정하는 방법에 대해 알아보겠습니다.

1. Hibernate 설정 파일 생성

먼저, 하이버네이트 설정 파일을 생성해야합니다. 일반적으로 hibernate.cfg.xml 파일로 지정합니다. 설정 파일은 프로젝트의 클래스 패스에 위치해야 합니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- 데이터베이스 연결 설정 -->
        <property name="hibernate.connection.driver_class">드라이버 클래스 이름</property>
        <property name="hibernate.connection.url">데이터베이스 URL</property>
        <property name="hibernate.connection.username">데이터베이스 사용자 이름</property>
        <property name="hibernate.connection.password">데이터베이스 비밀번호</property>
        
        <!-- 기타 설정 옵션 -->
    </session-factory>
</hibernate-configuration>

위의 예제에서는 드라이버 클래스 이름, 데이터베이스 URL, 데이터베이스 사용자 이름, 데이터베이스 비밀번호를 설정하고 있습니다. 이 값을 사용하여 데이터베이스에 연결합니다.

2. Hibernate Configuration 객체 생성

Hibernate Configuration 객체를 사용하여 설정 파일을 읽고 데이터베이스 연결을 설정합니다.

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
    private static final SessionFactory sessionFactory;

    static {
        try {
            // Hibernate 설정 파일 로드
            Configuration configuration = new Configuration();
            configuration.configure("hibernate.cfg.xml");
            
            // SessionFactory 생성
            sessionFactory = configuration.buildSessionFactory();
        } catch (Exception e) {
            throw new RuntimeException("SessionFactory 생성 실패", e);
        }
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public static void shutdown() {
        getSessionFactory().close();
    }
}

위의 예제에서는 Configuration 클래스를 사용하여 hibernate.cfg.xml 파일을 로드하고 SessionFactory 객체를 생성합니다. getSessionFactory() 메서드를 사용하여 SessionFactory 객체를 가져올 수 있습니다.

3. 데이터베이스 연결 확인

Hibernate에서 데이터베이스 연결 설정이 제대로 되었는지 확인하기 위해 간단한 테스트를 해봅시다.

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

public class Main {
    public static void main(String[] args) {
        SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
        Session session = sessionFactory.openSession();

        Transaction transaction = session.beginTransaction();

        // 여기서 데이터베이스 작업을 수행

        transaction.commit();

        session.close();
        HibernateUtil.shutdown();
    }
}

위의 예제에서는 SessionFactory 객체를 생성하고 openSession() 메서드를 사용하여 세션을 열고, beginTransaction() 메서드를 호출하여 트랜잭션을 시작합니다. 데이터베이스 작업이 끝나면 commit() 메서드로 트랜잭션을 커밋하고 close() 메서드로 세션을 닫습니다.

이렇게하면 Hibernate를 사용하여 데이터베이스와 연결하는 과정을 설정하고 테스트할 수 있습니다.

참고 자료