Springboot 개념#3

LSM ·2021년 7월 5일
0

2. JPA란?


  • JPA는 Java Persistence(영속성) API이다.

    영속성은 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다. 영속성은 파일시스템, 관계형 데이터베이스 혹은 객체 데이터베이스 등을 이용하여 구현한다.
    API란? 프로그램을 만들기위해 제공되는 인터페이스 즉, 상하관계(무조건 따라야 하는)가 정해진 약속 아래에서 프로그램을 짜는 것.
    -> 결론, JPA는 자바프로그램을 할 때,영구적으로 데이터를 저장하기 위해서 필요한 인터페이스이다.

  • JPA는 ORM이다.

    ORM = Object Relational Mapping
    쉽게말해, object를 db에 mapping 할때 쓰는 기술 같은거임.
    정리하면 생성한 class를 통해 자동적으로 DB 테이블을 만들어준다.

  • JPA는 CRUD작업을 단순하게 도와준다.
  • JPA는 영속성 컨텍스트를 가지고 있다.

    context : 대상의 모든 정보
    영속성 컨텍스트 : 자바 프로그램 내에서 동작하며, 자바 프로그램과 DB간의 모든 context를 주고 받는데 있어 자동적으로 관여하는 역할을한다.

  • JPA는 ORM을 통해 DB와 OOP(객체지향)의 불일치성을 해결하기 위한 방법론을 제공한다.(DB는 객체저장 불가능)

    DB는 객체 저장이 불가능하다 일반자료형 int,string..만 가능하다. 하지만 자바는 객체 변수를 선언할 수 있다. 즉 객체를 class에 저장할 수 있다. 여기서 일어나는 불일치성을 JPA가 ORM을 통해 자동적으로 자바에서 DB로 객체를 insert,get 할 수 있게 된다


참고자료 : https://www.youtube.com/watch?v=-5r52dt2HcU
#유튜버 데어프로그래밍 spring boot 강좌.

profile
개발 및 취준 일지

0개의 댓글