[TIL] Java-Spring

서연·2023년 8월 10일

TIL

목록 보기
3/3
post-thumbnail

Spring Data JPA

JPA

JPA란?

  • Java Persistence API
  • SQL 중심 개발의 문제점
    • 데이터베이스에서 SQL을 통해 데이터 CRUD 작업을 하고 이를 다시 자바 객체로 변환해야 하는 반복작업이 필요 (SQL 매핑의 반복)
    • 객체와 관계형 데이터베이스의 패러다임 불일치 문제
  • 해결책 : ORM
    • 객체는 객체지향적으로, 데이터베이스는 데이터베이스 대로 설계함
    • ORM은 중간에서 2개를 매핑하는 역할
  • JPA는 ORM 기술의 표준 명세로 자바에서 제공하는 API
  • 인터페이스이며 이를 구현한 대표적인 구현체로 Hibernate(대표적), EclipseLink 등이 있음

JPA 장단점

  • 장점
    • 추상화한 데이터 접근 계층을 제공하기에 특정 데이터베이스에 종속 X
    • 객체지향적 설계 가능
    • 테이블과 매핑된 클래스에 필드만 추가하면 쉬운 관리 가능. SQL문을 직접 작성하지 않고 객체를 사용하여 동작하기 때문에 유지보수 유리
  • 단점
    • 복잡한 쿼리가 필요한 상황에서 어려움
    • 매핑 실패 시 성능저하 가능성 있음
    • JPA를 제대로 사용하기까지 학습해야 할 것들이 많음

참고

  • 스프링 부트 쇼핑몰 프로젝트 with JPA
profile
삽질 기록장/ 📍다른 삽질 기록장 https://sqlimblife.tistory.com/

0개의 댓글