티스토리 뷰

JPA

JPA맛보기

✨✨✨✨✨✨✨ 2022. 1. 2. 20:16
반응형

오늘부터 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의 간단한 맛보기 정리이다 ! 이제 시작한다!

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
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
글 보관함