[JPA] JPA 소개

Jiisuniui·2023년 11월 30일
1

JPA의 모든 것

목록 보기
1/8
post-thumbnail

SQL 중심적인 개발의 문제점

객체와 RDB의 차이

객체지향 : 추상화, 캡슐화, 정보은닉, 상속, 다형성

1. 상속

객체 : 상속 O
테이블 : 상속 X (객체에서 말하는 상속X) -> super 관계

2. 연관관계

객체 : 참조 (ex. Member.getTeam)
테이블 : 외래키 사용 (ex. Join)
-> 테이블에 insert하기가 힘듦 (따로 pk를 설정 안해줘서 fk로 뭘 둬야될지..)

3. 엔티티 신뢰 문제

객체 : 어디서 부르든 연결되어있으면 다 부를 수 있음
테이블 : 처음에 만든 엔티티를 기반으로 부름..?

4. 비교하기

== 안됨

결론 : 객체답게 모델링할수록 매핑 작업만 늘어남

JPA 소개

ORM

ORM : Object-Relational Mapping (객체 관계 매핑)
객체는 객체대로, RDB는 RDB대로 설계하면 ORM 프레임워크가 중간에서 매핑

JPA는 표준명세

JPA는 표준 인터페이스의 모음

JPA를 사용하는 이유

  • SQL 중심적인 개발에서 객체 중심으로 개발
  • 생산성
  • 유지보수
  • 패러다임의 불일치 해결
  • 성능
  • 데이터 접근 추상화와 벤더 독립성
  • 표준

JPA 동작

1. JAVA 어플리케이션과 JDBC 사이에서 동작 : 기존 mybatis 등과 동일

image

2. JPA 동작 - 저장 : 스스로 분석해서 만듦

image

3. JPA 동작 - 조회

image
profile
why error?

0개의 댓글