항해 7주차 회고 (WIL)

계리·2022년 11월 8일
0
post-custom-banner

항해 7주차 WIL List

  • JPA
  • ORM

추후 업데이트 예정

이제 클론 프로젝트까지 끝나고 실전 프로젝트를 시작하게 됐다. 실전 프로젝트에서는 웹디자이너분도 함께 진행하게 됐다.

아무래도 신경을 많이 쓴 부분은 CRUD에 초점을 많이 두었다. CRUD와 더불어 같이 사용하는 기술인 JPA와 JPA를 잘 다루기 위한 SQL 공부, 그리고 예외처리 등등을 알아보고 공부했다.


JPA란?

  • JPA(Java persistence API)는 자바 진영의 ORM 기술 표준
  • 애플리케이션과 JDBC 사이에서 동작

ORM은 무엇인가?

  • 객체와 관계형 데이터베이스를 매핑
  • 객체와 테이블을 맾ㅇ해서 패러다임 불일치 문제를 해결
  • SQL을 치 자바 컬렉션에 저장하듯이 ORM프레임워크에 저장하면 SQL을 생성해서 데이터베이스에 객체를 저장

JPA를 사용하는 이유

  • 생산성

    • 지루하고 반복적인 코드와 CRUD용 SQL을 직접 작성하지 않아도 된다
    • DDL 문을 자동으로 생성해주는 기능이 있다
    • 데이터베이스 설계 중심 --> 객체 설계 중심으로 가능해졌다
  • 유지보수

    • 필드를 추가하거나 삭제해도 수정해야할 코드가 적어졌다
    • 객체지향 언어가 가진 장점들을 활용해서 유연하고 유지보수하기 좋은 도메인 모델을 편리하게 설계할 수 있다
  • 패러다임 불일치 해결

    • 상속, 연관관계, 객체 그래프 탐색, 비교하기오 ㅏ같은 패러다임의 불일치 문제를 해결
  • 성능

    • 애플리케이션과 데이터베이스 사이에서 다양한 성능 최적화 기회를 제공
    • 조회 시 한 번만 데이터베이스에 전달하고 두 번째는 조회한 객체를 재사용
  • 데이터 접근 추상화와 벤더 독립성

    • App과 DB 사이에 추상화된 데이터 접근 계층을 제공해서 App이 특정 DB 기술에 종속되지 않도록 한다
  • 표준

    • JPA는 자바 진영의 ORM 표준이다
profile
gyery
post-custom-banner

0개의 댓글