티스토리 뷰
반응형
오늘부터 JPA공부를 시작해볼까 한다.
아래 내용들은 JPA의 전반적인 맛보기 내용이고
앞으로 김영한님의 자바ORM표준 JPA프로그래밍 - 기본편 을 보면서 공부해 나갈 것 이다.
JPA를 왜 사용해야하는가?
- SQL 중심적인 개발에서 객체 중심으로 개발이 가능하다.
- 생산성과 유지보수에 좋다.
- 컬럼 하나가 추가되는경우 모든 SQL문을 하나씩 수정할 필요가 없어진다.
- 패러다임 불일치 해결
- SQL은 데이터 중심이고 Spring의 객체지향 사이에서의 패러다임 불일치를 해결해준다.
- 데이터 접근 추상화와 벤더 독립성
명령문 맛보기 CRUD는 다음과 같다.
- 저장 : jpa.persist(member)
- 조회 : Member member = jpa.find(memberId)
- 수정 : member.setNam("변경할 이름")
- 삭제 : jpa.remove(member)
1. JPA로 저장을 예시로 든다면
위와같이 객체와 테이블이 있다고 한다면,
개발자는 아래와 같이 입력하면
jpa.persist(album);
자동으로 JPA는 아래 쿼리를 자동으로 생성해준다.
INSERT INTO ITEM ... INSERT INTO ALBUM
> 빨리 경험해보고 싶다 ㅎㅎ
2. JPA에는 지연로딩과 즉시로딩이 있다.
Member member = memberDAO.find(memberId)
Team team = member.getTeam();
String teamName = team.getName();
위와 같은 소스가 있다고 하면 지연로딩과 즉시로딩을 사용할 수 있다.
- JPA에서 지연로딩을 사용할 경우
- 지연로딩 의미 : 객체가 실제 사용될 때 로딩
- select * from. member
- select * from team
- JPA에서 즉시로딩을 사용할 경우
- 즉시로딩 의미 :
- select m.*, t.* from member m join t ...
JPA의 간단한 맛보기 정리이다 ! 이제 시작한다!
반응형
'JPA' 카테고리의 다른 글
다양한 연관관계 매핑 (0) | 2022.02.06 |
---|---|
양방향 연관관계와 연관관계의 주인2 - 주의점 정리 (0) | 2022.01.27 |
1 - JPA Study - 영속성 관리 - 내부 동작 방식 (0) | 2022.01.16 |
영속성 컨텍스트2 (0) | 2022.01.09 |
JPA 영속성과 생성주기 (0) | 2022.01.06 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- webpack
- mvn
- stream
- 람다
- JPA
- map
- vscode
- 차이
- springboot
- ngnix
- AnnotationConfigApplicationContext
- Intellij
- nginx
- elasticsearch
- 영속성 컨텍스트
- Vue
- MAC
- ApplicationContext
- 자바8
- NPM
- BeanFactory
- java
- lambda
- Vuex
- container
- docker
- 스트림
- 최종연산
- install
- 중간연산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함