250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- migration
- spring cloud
- eslint
- Regular expression
- REACT
- regex
- Express
- Chunk
- log_bin
- nodejs
- git
- Effective Java
- Effective Java 3/e
- spring
- 정규표현식
- MySQL
- Spring Batch
- mysql 5.5
- current_date
- 퀵소트
- update
- REACTJS
- java
- upgrade
- try catch
- Node
- JavaScript
- npm
- expire_logs_days
- log4j2
Archives
- Today
- Total
내 세상
[Spring] Spring in Action, Chapter 11. 객체 관계형 매핑을 통한 데이터 퍼시스팅 본문
Technical/Spring
[Spring] Spring in Action, Chapter 11. 객체 관계형 매핑을 통한 데이터 퍼시스팅
sga8 2019. 7. 30. 14:43728x90
반응형
11.1 스프링과 하이버네이트 통합
- 지연 로딩(lazy loading) : 우리가 필요로 하는 실제 데이터만 불러올 수 있음. 필요한 부분만 가져오는 것.
- 조기 인출(eager fetching) : 지연 로딩의 반대개념. 한 번의 쿼리로 전체 객체 구조를 가져올 수 있음.
- 캐스케이딩(cascading) : 테이블 변경 시 다른 테이블도 변경되어야 하는 경우가 있을 때 작동하는 것.
→ 객체 관계 매핑 (ORM: Object Relational Mapping) : 많은 양의 코드를 줄이고 개발 시간을 단축함. - 스프링은 다수의 ORM 프레임 워크를 지원함 (Hibernate, iBATIS, Apache OJB, JDO, TopLink, JPA 등)
- 하이버네이트는 오픈 소스 퍼시스턴스 프레임워크 (+ cahcing, lazy loading, eager fetching, distributed caching)
- Session
- DB로부터 객체에 대한 Save, Update, Delete, Load와 같은 기본적인 데이터 액세시 기능 제공
- Appl.의 DAO는 모든 퍼시스턴스 관련 요구 사항을 하이버네이트의 Session 인터페이스를 통해 수행하게 됨.
- Session
11.2 스프링과 자바 퍼시스턴스 API
- JPA(Java Persistent API) - 차세대 Java Persistent 표준.
- 스프링 with JPA 첫 단계
- Spring Appl. Context에 Entity 관리자 factory를 빈으로 설정하는 것.
- Application-Managed (애플리케이션 관리형)
- Appl.이 entity 관리자 팩토리에 직접 entity 관리자를 요청함으로써 entity 관리자가 생성되는 유형
- 설정 정보 대부분을 persistence.xml 설정파일로부터 가져옴.
- Container-Managed (컨테이너 관리형)
- 자바 EE 컨테이너에 의해 생성되고 관리되는 Entity 관리자
- Application-Managed (애플리케이션 관리형)
- Spring Appl. Context에 Entity 관리자 factory를 빈으로 설정하는 것.
11.3 스프링 데이터를 사용한 자동 JPA 저장소
- 저장소 메소드 = 동사(verb) + 선택 대상(optional subject) + 단어 By 및 조건 (predicate)
728x90
반응형