SlideShare uma empresa Scribd logo
1 de 31
본 문서의 배포 및 변경 ,  출력 및 활용에 관한 모든 권리는 작성자에 있습니다 . 본 서비스는 제 1 회 대전  IT  개발자 커뮤니티 참석자를 위해 제공됩니다 .
하이버네이트 프로그래밍 기초  & 객체 지향 지원 최범균 다음커뮤니케이션 September 28 th , 2008
목차 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
강의 목적 ,[object Object],[object Object],[object Object],[object Object],강의 목적
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],테이블과 객체 매핑의 필요성 ORM 과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],관계형 데이터베이스와 객체의 불일치 ORM 과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ORM  도구의 필요성 ORM 과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ORM  도구의 필수 조건 ORM 과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],하이버네이트인 이유 ORM 과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],프로그램 절차 하이버네이트 기초 사용법
[object Object],[object Object],[object Object],[object Object],[object Object],영속 클래스 작성법 하이버네이트 기초 사용법
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],클래스와 테이블 매핑 설정 파일 작성 하이버네이트 기초 사용법
DB  연결 Dialect  설정 매핑파일 설정 <hibernate-configuration> <session-factory> <property name=&quot;hibernate.connection.driver_class&quot;> … </property> <property name=&quot;hibernate.connection.url&quot;>…</property> … <property name=&quot;hibernate.dialect&quot;> org.hibernate.dialect.OracleDialect </property> <mapping resource=&quot;Product.hbm.xml&quot; /> … </session-factory> </hibernate-configuration> 하이버네이트 설정 하이버네이트 기초 사용법
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],하이버네이트를 이용한  DB  처리  1 –  세션 초기화 하이버네이트 기초 사용법
[object Object],하이버네이트를 이용한  DB  처리  2 – CRUD  처리 하이버네이트 기초 사용법 메서드 설명 Serializable save(Object) 객체를 저장한다 .  저장 시 사용될 키 값을 리턴한다 . void persist(Object) 객체를 저장한다 . Object get(Class, Serializable) 해당 타입의 지정한 키 값을 갖는 객체를 리턴한다 .  존재하지 않을 경우  null 을 리턴 한다 . Object load(Class,Serizliable) 해당 타입의 지정한 키 값에 대한 프록시 객체를 리턴한다 .  프록시 객체는 객체가 실제로 사용될 때  DB 에서 값을 가져온다 .  실세 사용시  DB 에 매핑되는 데이터가 존재하지 않으면 예외를 발생시킨다 . delete(Object) 객체와 매핑되는 테이블의 행을 삭제한다 . update(Object) 객체의 변경된 값을  DB 에 반영한다 .
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],CRUD  관련 사용 예 하이버네이트 기초 사용법
세션에서 로딩한 객체의 프로퍼티가 변경될 경우 , 트랜잭션 커밋 시 자동으로 변경된 내역이  DB 에 반영 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],영속성 처리의 투명함  (Transparent Persistence) 하이버네이트 기초 사용법
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],객체 (Entity)  타입과 값  (Value)  타입 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],객체간 연관 매핑 지원 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],korName 값 타입 매핑 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1-1  연관 :  동일한 키 값 공유 방식 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],N-1  연관 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1-1  연관 :  참조키를 이용한 방식 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],컬렉션 프로퍼티를 이용한  1-N  연관 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],엔티티 간 영속성 전이 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],상속 매핑 지원 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],객체에 기반한 쿼리 객체 지향과 하이버네이트
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],하이버네이트 도입 절차 도입 방법 및 맺음말
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],맺음말 도입 방법 및 맺음말
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],참고 자료 참고자료
감사합니다 .

Mais conteúdo relacionado

Mais procurados

Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web ComponentsEunYoung Kim
 
Ksug2015 - JPA1, JPA 소개
Ksug2015 - JPA1, JPA 소개Ksug2015 - JPA1, JPA 소개
Ksug2015 - JPA1, JPA 소개Younghan Kim
 
Ksug2015 jpa4 객체지향쿼리
Ksug2015 jpa4 객체지향쿼리Ksug2015 jpa4 객체지향쿼리
Ksug2015 jpa4 객체지향쿼리Younghan Kim
 
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3plusperson
 
ORM을 활용할 경우의 설계, 개발 과정
ORM을 활용할 경우의 설계, 개발 과정ORM을 활용할 경우의 설계, 개발 과정
ORM을 활용할 경우의 설계, 개발 과정Javajigi Jaesung
 
Daejeon IT Developer Conference iBATIS2
Daejeon IT Developer Conference iBATIS2Daejeon IT Developer Conference iBATIS2
Daejeon IT Developer Conference iBATIS2plusperson
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA경원 이
 
MyBatis 개요와 Java+MyBatis+MySQL 예제
MyBatis 개요와 Java+MyBatis+MySQL 예제MyBatis 개요와 Java+MyBatis+MySQL 예제
MyBatis 개요와 Java+MyBatis+MySQL 예제정완 전
 
엘라스틱서치 이해하기 20160613
엘라스틱서치 이해하기 20160613엘라스틱서치 이해하기 20160613
엘라스틱서치 이해하기 20160613Yong Joon Moon
 
DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)beom kyun choi
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Hyosang Hong
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpaTaesin Um
 
Jpa 잘 (하는 척) 하기
Jpa 잘 (하는 척) 하기Jpa 잘 (하는 척) 하기
Jpa 잘 (하는 척) 하기경원 이
 
Querydsl 발표
Querydsl 발표Querydsl 발표
Querydsl 발표ssuserd717021
 

Mais procurados (17)

Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
 
Java JPA
Java JPAJava JPA
Java JPA
 
Ksug2015 - JPA1, JPA 소개
Ksug2015 - JPA1, JPA 소개Ksug2015 - JPA1, JPA 소개
Ksug2015 - JPA1, JPA 소개
 
Ksug2015 jpa4 객체지향쿼리
Ksug2015 jpa4 객체지향쿼리Ksug2015 jpa4 객체지향쿼리
Ksug2015 jpa4 객체지향쿼리
 
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3
 
3-2. selector api
3-2. selector api3-2. selector api
3-2. selector api
 
ORM을 활용할 경우의 설계, 개발 과정
ORM을 활용할 경우의 설계, 개발 과정ORM을 활용할 경우의 설계, 개발 과정
ORM을 활용할 경우의 설계, 개발 과정
 
Daejeon IT Developer Conference iBATIS2
Daejeon IT Developer Conference iBATIS2Daejeon IT Developer Conference iBATIS2
Daejeon IT Developer Conference iBATIS2
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA
 
4-1. javascript
4-1. javascript4-1. javascript
4-1. javascript
 
MyBatis 개요와 Java+MyBatis+MySQL 예제
MyBatis 개요와 Java+MyBatis+MySQL 예제MyBatis 개요와 Java+MyBatis+MySQL 예제
MyBatis 개요와 Java+MyBatis+MySQL 예제
 
엘라스틱서치 이해하기 20160613
엘라스틱서치 이해하기 20160613엘라스틱서치 이해하기 20160613
엘라스틱서치 이해하기 20160613
 
DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)DDD 구현기초 (거의 Final 버전)
DDD 구현기초 (거의 Final 버전)
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
Jpa 잘 (하는 척) 하기
Jpa 잘 (하는 척) 하기Jpa 잘 (하는 척) 하기
Jpa 잘 (하는 척) 하기
 
Querydsl 발표
Querydsl 발표Querydsl 발표
Querydsl 발표
 

Destaque

대전개발자컨퍼런스 하이버네이트 발표자료 최범균
대전개발자컨퍼런스 하이버네이트 발표자료 최범균대전개발자컨퍼런스 하이버네이트 발표자료 최범균
대전개발자컨퍼런스 하이버네이트 발표자료 최범균beom kyun choi
 
JPA 프로그래밍 (1)
JPA 프로그래밍 (1)JPA 프로그래밍 (1)
JPA 프로그래밍 (1)Bryan Choi
 
[강의소개] 안드로이드 앱 개발 입문 캠프 4기
[강의소개] 안드로이드 앱 개발 입문 캠프 4기[강의소개] 안드로이드 앱 개발 입문 캠프 4기
[강의소개] 안드로이드 앱 개발 입문 캠프 4기FAST CAMPUS
 
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30Donghan Kim
 
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Sungchul Park
 
자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰Woojin Joe
 
SpringMVC 전체 흐름 알아보기
SpringMVC 전체 흐름 알아보기SpringMVC 전체 흐름 알아보기
SpringMVC 전체 흐름 알아보기Myung Woon Oh
 

Destaque (8)

대전개발자컨퍼런스 하이버네이트 발표자료 최범균
대전개발자컨퍼런스 하이버네이트 발표자료 최범균대전개발자컨퍼런스 하이버네이트 발표자료 최범균
대전개발자컨퍼런스 하이버네이트 발표자료 최범균
 
JPA 프로그래밍 (1)
JPA 프로그래밍 (1)JPA 프로그래밍 (1)
JPA 프로그래밍 (1)
 
[강의소개] 안드로이드 앱 개발 입문 캠프 4기
[강의소개] 안드로이드 앱 개발 입문 캠프 4기[강의소개] 안드로이드 앱 개발 입문 캠프 4기
[강의소개] 안드로이드 앱 개발 입문 캠프 4기
 
Team Janel
Team JanelTeam Janel
Team Janel
 
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
 
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
 
자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰
 
SpringMVC 전체 흐름 알아보기
SpringMVC 전체 흐름 알아보기SpringMVC 전체 흐름 알아보기
SpringMVC 전체 흐름 알아보기
 

Semelhante a Daejeon IT Developer Conference Hibernate3

RIA Description Language(09.11.04)
RIA Description Language(09.11.04)RIA Description Language(09.11.04)
RIA Description Language(09.11.04)Ethan Cha
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용중선 곽
 
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Javajigi Jaesung
 
[2018] MyBatis에서 JPA로
[2018] MyBatis에서 JPA로[2018] MyBatis에서 JPA로
[2018] MyBatis에서 JPA로NHN FORWARD
 
Sql 중심 코드 탈피
Sql 중심 코드 탈피Sql 중심 코드 탈피
Sql 중심 코드 탈피ssuser776e2d
 
Role Of Server In Ajax Korean
Role Of Server In Ajax KoreanRole Of Server In Ajax Korean
Role Of Server In Ajax KoreanTerry Cho
 
MyBatis에서 JPA로
MyBatis에서 JPA로MyBatis에서 JPA로
MyBatis에서 JPA로Dongmin Shin
 
Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료ssuser776e2d
 
ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리Kenu, GwangNam Heo
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2Yunho Jo
 
CoreData.pptx
CoreData.pptxCoreData.pptx
CoreData.pptxJUNSHIN8
 
Javascript introduction, dynamic data type, operator
Javascript introduction, dynamic data type, operatorJavascript introduction, dynamic data type, operator
Javascript introduction, dynamic data type, operatorYoung-Beom Rhee
 
[HaU] 신입 기술 면접 준비 java
[HaU] 신입 기술 면접 준비 java[HaU] 신입 기술 면접 준비 java
[HaU] 신입 기술 면접 준비 java유리 하
 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache TajoGruter
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Gruter
 
[전파교육] css day 2014
[전파교육] css day 2014[전파교육] css day 2014
[전파교육] css day 2014Kyoung Hwan Min
 
Clearboth Study 14th
Clearboth Study 14thClearboth Study 14th
Clearboth Study 14thJiho Choo
 
좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVONYounghan Kim
 

Semelhante a Daejeon IT Developer Conference Hibernate3 (20)

RIA Description Language(09.11.04)
RIA Description Language(09.11.04)RIA Description Language(09.11.04)
RIA Description Language(09.11.04)
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
 
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
 
[2018] MyBatis에서 JPA로
[2018] MyBatis에서 JPA로[2018] MyBatis에서 JPA로
[2018] MyBatis에서 JPA로
 
Sql 중심 코드 탈피
Sql 중심 코드 탈피Sql 중심 코드 탈피
Sql 중심 코드 탈피
 
Role Of Server In Ajax Korean
Role Of Server In Ajax KoreanRole Of Server In Ajax Korean
Role Of Server In Ajax Korean
 
MyBatis에서 JPA로
MyBatis에서 JPA로MyBatis에서 JPA로
MyBatis에서 JPA로
 
Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료
 
ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리ecdevday3 효율적인 유지보수를 위한 개발 및 관리
ecdevday3 효율적인 유지보수를 위한 개발 및 관리
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2
 
CoreData.pptx
CoreData.pptxCoreData.pptx
CoreData.pptx
 
Javascript introduction, dynamic data type, operator
Javascript introduction, dynamic data type, operatorJavascript introduction, dynamic data type, operator
Javascript introduction, dynamic data type, operator
 
[HaU] 신입 기술 면접 준비 java
[HaU] 신입 기술 면접 준비 java[HaU] 신입 기술 면접 준비 java
[HaU] 신입 기술 면접 준비 java
 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
[전파교육] css day 2014
[전파교육] css day 2014[전파교육] css day 2014
[전파교육] css day 2014
 
Redis
RedisRedis
Redis
 
Spark sql
Spark sqlSpark sql
Spark sql
 
Clearboth Study 14th
Clearboth Study 14thClearboth Study 14th
Clearboth Study 14th
 
좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON
 

Daejeon IT Developer Conference Hibernate3

  • 1. 본 문서의 배포 및 변경 , 출력 및 활용에 관한 모든 권리는 작성자에 있습니다 . 본 서비스는 제 1 회 대전 IT 개발자 커뮤니티 참석자를 위해 제공됩니다 .
  • 2. 하이버네이트 프로그래밍 기초 & 객체 지향 지원 최범균 다음커뮤니케이션 September 28 th , 2008
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. DB 연결 Dialect 설정 매핑파일 설정 <hibernate-configuration> <session-factory> <property name=&quot;hibernate.connection.driver_class&quot;> … </property> <property name=&quot;hibernate.connection.url&quot;>…</property> … <property name=&quot;hibernate.dialect&quot;> org.hibernate.dialect.OracleDialect </property> <mapping resource=&quot;Product.hbm.xml&quot; /> … </session-factory> </hibernate-configuration> 하이버네이트 설정 하이버네이트 기초 사용법
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.

Notas do Editor

  1. 저는 NHN 에 근무하고 있는 이동국입니다 . iBATIS 관련 문서를 번역해서 아마 제 이름이 익숙하신 분들도 꽤 되시리라 생각됩니다 . ^^ 오늘 오신 분들이 모두 원하는 바가 다르기 때문에 일반적인 수준에서 공통적으로 사용하는 부분에 대해 한번 살펴보고 주로 사용하셨던 분들은 한번 다시 되새겨보는 시간이 되었으면 합니다 .