컴퓨터응용과학부 Java Enterprize(DB) 제 14 주

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
컴퓨터응용과학부 Java Enterprize(DB) 제 1 주
어서와 Java는 처음이지! 제20장 실전프로젝트 #2.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Ch.07-5 xml-rpc 사용하기 김상엽.
Sep Youn-Hee Han 웹서비스 컴퓨팅 수업을 위한 코딩 환경 준비 Sep Youn-Hee Han
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
컴퓨터응용과학부 Java Enterprize(DB) 제 13 주
Struts2 를 이용한 SOCAS Homepage
컴퓨터응용과학부 Java Enterprize(DB) 제 12 주
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
6강. DI설정 방법 XML파일을 이용한 DI설정 방법 JAVA를 이용한 DI설정 방법 XML과 JAVA를 같이 사용
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터응용과학부 Java Enterprize(DB) 제 15 주
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
Power Java 제14장 배치 관리자.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
KHS JDBC Programming 4 KHS
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Grade Server Team14. Attention Seeker
자바응용.
CHAP 13. 방명록 만들기 실습.
27장. 모듈화 프로그래밍.
하이버네이트 (Hibernate) 박지혜.
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
전자정부 표준프레임워크 호환성 가이드 전자정부 표준프레임워크 사업단 실행환경 개발팀.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
영상처리 실습 인공지능연구실.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
ADO.NET (SqlConnection, SqlCommand)
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
Clipping 이진학.
자바 5.0 프로그래밍.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
컴퓨터응용과학부 Java Enterprize(DB) 제 10 주
CHAP 21. 전화, SMS, 주소록.
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
암호학 응용 Applied cryptography
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
발표자 : 이지연 Programming Systems Lab.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
.Net FrameWork for Web2.0 한석수
Power Java 제14장 배치 관리자.
 6장. SQL 쿼리.
K PaaS-TA 앱 운영.
7 생성자 함수.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

컴퓨터응용과학부 Java Enterprize(DB) 제 14 주 2014년 12월 2일 하이버네이트, JPA와 스프링의 연계(10,11장)

토론을 위한 질문 ?

책 읽기 퀴즈 . MVC 두 가지 프로퍼티 Result Action Context

단어 퀴즈 스

다음 주 과제 12,13장 읽어오기 숙제 해서 제출하기

제10장 하이버네이트와 스프링의 연계 영속화에 무엇을 사용하면 좋을까? 하이버네이트란? 하이버네이트의 사용법 하이버네이트의 기능 하이버네이트의 연계 목적과 과제 연계 전의 소스 코드 인티그레이션 기능에 의한 하이버네이트 연계 하이버네이트와 스프링 연계에서 일어나는 트랜 잭션의 함정

하이버네이트란? SQL문을 이용하지 않고 도메인 클래스를 데이터 베이스의 테이블에 연결하는 ORM 이다.

하이버네이트 사용법 정의 파일 데이터베이스 설정 매핑 파일 도메인 테이블 매핑

도메인 클래스의 제약 인수가 없는 생성자가 있어야 한다. 프로퍼티에 대한 액세스 메소드가 있어야 한다. 프라이머리 키의 프로퍼티와 액세스 메소드가 있 어야 한다.

데이터 베이스 사용 절차 비즈니스 클래스는 데이터액세스 오브젝트(DAO) 에 액세스 한다. DAO는 하이버네이트가 제공하는 SessionFactory 오브젝트로부터 Session 오브 젝트를 가져오고 세션오브젝를 사용해 도메인을 생성하고 갱신한다.

하이버네이트의 기능 HQL(hibernate query language) 사용 프라이머리 키 자동생성 도메인 클래스의 연관 설정 오브젝트를 실제 사용할 때에 데이터베이스를 연 결하여 성능향상 캐시를 사용하여 데이터베이스 액세스 횟수 감소

하이버네이트의 연계 목적과 과제 스프링과 연계하지 않으면 코드가 길어진다. 트랜잭션 관리를 명시적으로 해야 한다. 스프링 연동으로 위 문제 해결

인테그레이션 기능에 의한 하이버네이트 연계 스프링 정의 파일에 하이버네이트 관련 설정 추가

Db 설정

하이버네이트 설정

HibernateTemplate 설정

스프링 인젝션 사용

DAO 클래스

Session의 사용 스프링과 연계한 경우 Session을 사용하고자 하면 반드시 sessionFactory.getCurrentSession() 을 이용해야 한다. openSession() 함수를 사용하면 트랜잭션 관리를 할 수 없다.

하이버네이트와 스프링 연계에서 일어나는 트랜잭션 함정 캐시를 사용하기 때문에 예기치 못한 일이 발생할 수 있다. 중복된 프라이머리 키 예외발생 문제 flush 함수 사용 N+1 selection 문제 하이버네이트는 다양한 함정이 도사린다. 하이버네이트 전문가 필수 스프링 JDBC 고려

실습 예제 pom.xml 스프링 Maven Project

제11장 JPA와 스프링의 연계 JPA란 무엇인가? POJO 기반의 도메인 클래스 Persistence.xml 파일 편집 JPS의 실행 – EJB 컨테이너가 없을 때 스프링의 JPA 인티그레이션 기능 DAO 클래스의 구현 Bean 정의 파일 설정 지연로드 문제 트랜잭션 뷰 패턴 스프링의 OpenEntityMangerInViewFilter Triggering Lazy Loading 트랜스퍼 오브젝트를 사용한다 선택 정리

JPA(Java Persistence API)란 무엇인가? JPA(Java Persistence API)는 EJB 2.x에서 DB에 접근 하기 위해 사용되었던 Entity Bean을 JSR-220(Enterprise JavaBeans 3.0)에서 대체하는 새 로운 기술이다. JPA는 Entity Bean과는 아주 다른 POJO(Plain Old Java Object) 기반의 ORM(Object-Relational Mapping) 프로그래밍 모델을 제공하며 기존에 존재하 던 Hibernate와 같은 ORM솔루션과 유사하다. EJB3.0에 국한되지 않은 범용적인 기술로 만들어 졌기 때문에 JAVA EE 와 SE 환경에서 모두 사용 할 수 있으 며 JAVA SE 5.0 Annotation을 사용하여 Java 객체에 서 RDB로 Mapping하는 방법을 단순화시켰다.

JPA의 특성 POJO 기반의 단순한 Persistence Model 표준화된 O/R 매핑 객체간의 상속관계 지원 Annotation AND/OR XML 사용 디폴트 규칙 적용으로 대부분의 경우 별도의 O/R 매핑을 지정할 필요가 없음. 객체간의 상속관계 지원 EJBQL에 비해 확장된 쿼리 언어 Bulk Update/Delete, Subquery, Native Query 지원 Java EE And Java SE 환경 모두 지원 프로바이더(Provider)를 플러그인 해서 사용 가능

Oracle JDBC 다운로드 http://www.oracle.com/technetwork/apps- tech/jdbc-112010-090769.html