Antop
Brain to Blog
Antop
전체 방문자
930,166
오늘
1
어제
12
  • 분류 전체보기 (167)
    • Ubuntu Developer (0)
    • Mini Project (12)
    • Request Sample (1)
    • Study (5)
      • Vue.js (2)
      • Hadoop (3)
    • Java+ (23)
      • Trouble Shooting (5)
      • Example (8)
    • Framework (22)
      • Struts (3)
      • Spring (3)
      • Spring OSGi (2)
      • Spring Security (3)
      • Hibernate (9)
      • Mybatis (1)
    • Android (1)
    • Oracle Solution (40)
      • Tutorial for Oracle Coheren.. (1)
      • PO Processing (17)
      • BPM 11g Foundation Training (11)
      • Oracle Service Bus 11g Hand.. (5)
      • BPEL (3)
      • Trouble Shooting (2)
    • JavaScript (5)
      • jQuery (2)
      • Ext JS (1)
    • Tools (12)
      • Eclipse (11)
      • Maven (1)
    • Database (6)
      • Oracle (3)
      • MySQL (2)
    • Server (30)
      • Ubuntu (16)
      • WebLogic (7)
      • VMware ESXi (6)
    • Etc (9)
      • Scrap (4)
      • Link (1)
      • Game (2)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

  • Install Ambari and Deploy HDP⋯
    2016.06.05
    Install Ambari and Deploy HDP⋯
  • web.xml 서블릿 버전별 DTD
    2013.03.03
  • 메이븐 웹 프로젝트 생성 후 해⋯
    2013.09.09
    메이븐 웹 프로젝트 생성 후 해⋯
  • 2014년 도로명 주소 사용에 따⋯
    2013.12.22
    2014년 도로명 주소 사용에 따⋯
  • Mybatis Interceptor + RowBoun⋯
    2017.12.12

태그

  • extjs
  • VMware
  • JavaScript
  • BPM
  • Spring
  • mybatis
  • hibernate
  • JSP
  • Ajax
  • esxi
  • maven
  • JDBC
  • EJB
  • Java
  • oracle
  • ubuntu
  • xml
  • MySQL
  • ORM
  • API
  • jQuery
  • LAB
  • BPEL
  • 하이버네이트
  • JSON
  • Weblogic
  • Eclipse
  • SOA
  • osb
  • Struts

최근 댓글

  • 소스를 오픈 해주셔서 감사합니⋯
    헤르메스의날개
  • 드라이버에 의존하는것보다 확⋯
    망고스틴
  • 비슷한걸 개발하면서 어떻게 해⋯
    홍마초
  • 잘 보고 갑니다...
    딸랑딸랑
  • 잘 보고 갑니다...
    이웃사촌

최근 글

  • Mockito.thenThrow() 주의사항!
    2021.09.25
  • Spring + @Lazy
    2019.08.05
    Spring + @Lazy
  • [Kotlin + Spring] Maven confi⋯
    2019.05.26
  • Installation Vue.js (Eclipse)
    2018.05.24
    Installation Vue.js (Eclipse)
  • Installation Vue.js (WebStorm⋯
    2018.05.21
    Installation Vue.js (WebStorm⋯

티스토리

hELLO · Designed By 정상우.
Antop

Brain to Blog

Hibernate 시작하기
Framework/Hibernate

Hibernate 시작하기

2009. 12. 23. 15:17
반응형
하이버네이트를 시작하기 위한 기본설정을 해봅시다.

Eclipse Galileo
Java 1.6.0_16
Tomcat 6.0.14



http://www.hibernate.org 에서 라이브러리와 플러그인을 다운로드 받습니다.

왼쪽 메뉴에서 'Download' 를 클릭 후 zip 파일을 다운로드 합니다.






하이버네이트 플러그인(Hibernate Tools)은 이클립스 플러그인 설치를 이용해서 합니다.

업데이트 주소는 하이버네이트 홈페이지에서 HIBERNATE Tools 부분에 링크 되어있습니다.



업데이트 주소 : http://download.jboss.org/jbosstools/updates/stable



플러그인이 잘 설치 되었습니다... ㄷㄷ;





이제 하이버네이트를 하기위한 최소한의 라이브러리를 세팅합시다.

다운로드 받은 hibernate-distribution-3.3.2.GA-dist.zip 파일을 압축 해제합니다.

hibernate3.jar 와 lib\required 폴더 안의 *.jar 만 있으면 하이버네이트를 사용할 수 있습니다.

log4j 를 사용하기 위해선 slf4j-log4j12-1.5.10.jar 와 log4j-1.2.15.jar 가 필요합니다. (설정파일 log4j.properties !!!)

마지막으로 데이터베이스에 맞는 jdbc 드라이버가 필요합니다.





하이버네이트 기본 설정 파일인 hibernate.cfg.xml 을 작성해봅시다. 이클립스 플러그인으로 생성하겠습니다.

File - New - Other... - Hibernate - Hibernate Configuration File (cfg.xml) 선택 - Next




설정파일을 저장할 경로 지정




접속 정보를 입력합니다. - Finish

접속 정보는 http://antop.tistory.com/54 에 있는 샘플 DB 입니다.

※ Database dialect 를 DB 에 알맞게 잘 골라주세요.




src 경로 아래 hibernate.cfg.xml 파일이 생성 되었습니다.

※ 플러그인을 설치하면 하이버네이트 관련 xml 파일의 아이콘이 아래 그림과 같이 표시됩니다.



파일을 열어보면 기본적으로 데이터베이스 접속 정보가 설정되어있습니다.

코드 어시스트(Ctrl + Space)를 이용해(플러그인 있어야함) 다른 설정들도 할 수 있습니다.



하이버네이트 세션(JDBC의 Connection이라고 보면 됨)을 관리해주는 클래스를 사용하도록 합시다.

HibernateUtil 클래스입니다. 하이버네이트 공식 메뉴얼에서 구한 국민 세션 관리 유틸이죠 ㅎㅎ

package util;

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

public class HibernateUtil {
   public static final SessionFactory sessionFactory;

   static {
      try {
         // Create the SessionFactory from hibernate.cfg.xml
         sessionFactory = new Configuration().configure().buildSessionFactory();
      } catch (Throwable ex) {
         // Make sure you log the exception, as it might be swallowed
         System.err.println("Initial SessionFactory creation failed." + ex);
         throw new ExceptionInInitializerError(ex);
      }
   }

   public static final ThreadLocal<Session> session = new ThreadLocal<Session>();

   public static Session getCurrentSession() throws HibernateException {
      Session s = session.get();
      // Open a new Session, if this thread has none yet
      if (s == null) {
         s = sessionFactory.openSession();
         // Store it in the ThreadLocal variable
         session.set(s);
      }
      return s;
   }

   public static void closeSession() throws HibernateException {
      Session s = (Session) session.get();
      if (s != null)
         s.close();
      session.set(null);
   }
}


※ 여기까지 하셨으면 하이버네이트를 사용할 최소한의 준비는 끝났습니다.



간단한 테스트 파일을 하나 만들어서 접속 테스트 해봅시다.

다른 이무 작동 없고 접속만 했다가 끊는 소스 입니다.

HibernateUtil 을 이용해서 접속합니다.

package app;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import util.HibernateUtil;

public class Test {
   
   public static void main(String[] args) {

      Session sess = null;
      Transaction tx = null;
  
      try {
         // 세션 열기
         sess = HibernateUtil.getCurrentSession();
         // 트랜잭션 시작
         tx = sess.beginTransaction();
         
         // processing..
   
         tx.commit(); // 커밋
      } catch (HibernateException e) {
         tx.rollback(); // 롤백
         e.printStackTrace();
      } finally {
         // 세션 닫기
         HibernateUtil.closeSession();
      }
    
   }
}

에러 안뿜어내고 로그 나오면 잘 된겁니다. ㄷㄷ;;

hibernate.war

반응형
저작자표시
  • 카카오스토리
  • 트위터
  • 페이스북

'Framework > Hibernate' 카테고리의 다른 글

PK 두개 이상시 매핑  (2) 2009.12.24
Reverse Engineering  (0) 2009.12.24
Hibernate 시작하기  (0) 2009.12.23
Criteria 사용하여 질의 하기 #2  (1) 2009.10.03
Criteria 사용하여 질의 하기 #1  (3) 2009.09.10
다대다(n:m) 관계 설정하기  (0) 2009.09.02
일대다(1:n) 관계 설정하기  (1) 2009.08.31
일대일(1:1) 관계 설정하기  (0) 2009.08.27
하이버네이트(Hibernate) 사용하기  (6) 2009.08.24
    'Framework/Hibernate' 카테고리의 다른 글
    • PK 두개 이상시 매핑
    • Reverse Engineering
    • Criteria 사용하여 질의 하기 #2
    • Criteria 사용하여 질의 하기 #1
    hibernate, ORM, 하이버네이트
    Antop
    Antop
    뇌에서 블로그로... antop@naver.com
    댓글쓰기
    다음 글
    Reverse Engineering
    이전 글
    Criteria 사용하여 질의 하기 #2
    • 이전
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • ···
    • 9
    • 다음