스프링부트 개념정리(2)

supway·2022년 8월 31일

Spring

목록 보기
2/3
  1. JPA => Java Persistence API
    영속성 -> 프로그램의 실행이 종료가 되어도 사라지지 않는 데이터의 특성
    API (Application Programming Interface)
    Interface -> 약속

  2. JPA => ORM 기술 (Object Relational Mapping)
    DB 세상에 있는 데이터 <-> Java 세상에 있는 데이터로 모델링
    ex) varchar <-> String
    Object(Class) -> JPA를 이용해서 -> Table(DB) 생성

  3. 반복적인 crud X
    1) Java -> DB에 접근 요청 (세션 오픈)
    2) Java -> DB에 쿼리 날림 (Connection)
    3) DB -> Java에 Data를 보냄
    4) Data (Java Object로 모델링)
    ==> JPA가 함수 하나로 제공

  4. JPA는 영속성 컨텍스트 지님
    context => 대상에 대한 모든 정보
    Java에서 DB에 데이터를 저장하거나 select문으로 가져올 때 일련의 모든 정보들을 영속성 컨텍스트가 다 가지고 있음
    (Java에서 바로 DB에 데이터가 저장되는 것이 아니라 영속성 컨텍스트(Object type)를 거침 => git에서 인덱스 영역 느낌?)

  5. JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공 (DB에 객체 저장 불가능)
    ex) Java에서 선수 클래스에 팀(객체)를 정보로 가지고 있을 때 DB에 넣으면 ORM이 알아서 외래키를 걸어줌

  6. JPA는 OOP의 관점에서 모델링을 가능하게 함 (상속, 컴포지션, 연관관계)

  7. 방언 처리에 용이하여 Migration하기 좋음, 유지보수에도 좋음
    => 수 많은 DBMS에 지원해줌 (MySQL, MariaDB 등)


위의 내용은 최주호님의 인프런 '스프링부트 개념정리' 내용을 참조했습니다.

profile
개발잘하고싶은사람

0개의 댓글