[프레임워크]_JPA

Kingyj·2024년 12월 13일

스프링? 스프링부트? JPA?

JPA?

JPA는 데이터를 정리하고, 저장하고, 찾는 일을 대신 해주는 비서 같은 것이다.

도서관 사서를 예를 들어보자.
도서관에 책이 엄청 많아. 책 제목, 저자, 출판 날짜 같은 정보를 잘 정리해놔야 사람들이 원하는 책을 쉽게 찾을 수 있겠지? 그런데 사람이 직접 모든 책을 정리하고, 찾고, 저장하려면 너무 힘들고 시간이 많이 걸려.

JPA는 이런 일을 자동으로 해주는 도구야!
쉽게 말해서, 컴퓨터 프로그램이 데이터를 알아서 정리하고, 저장하고, 찾을 수 있도록 도와주는 거지.

JPA는 왜 쓰는 걸까?

  1. 데이터를 저장할 때
    도서관에 새 책이 들어왔어!
    네가 직접 종이에 적어서 기록하려면 이렇게 해야겠지?
  • 책 제목: "코딩왕 초등학생"
  • 저자: "찹찹이"
  • 출판년도: 2024년

그런데 JPA는 이렇게 말해:

"책 정보를 나한테 말로 알려줘! 내가 알아서 컴퓨터에 저장해둘게."

  1. 데이터를 찾을 때
    어떤 사람이 "코딩왕 초등학생"이라는 책을 찾으러 왔어.
    보통은 너가 서가를 뒤져야 하지만, JPA를 쓰면 이렇게 할 수 있어:

"JPA야, '코딩왕 초등학생'이라는 책 좀 찾아줘!"
그러면 JPA가 알아서 책을 찾아서 보여줘.

  1. 데이터를 바꿀 때
    책 제목이 "코딩왕 초등학생"에서 "코딩천재 초등학생"으로 바뀌었어.
    보통은 사람이 직접 수정해야 하지만, JPA는 이렇게 말해:

"바뀐 제목만 알려줘! 내가 알아서 저장해둘게."

쉽게 설명해서 사람이 일일이 컴퓨터 데이터베이스와 대화하려면 번거롭고 어렵기 때문에, JAP는 개발자가 더 쉽게 데이터와 대화 할 수 있게 해준다.


그래서 스프링부트, 스프링, JPA가 대충 뭔지는 알겠는데.. 그래서 뭐라고?

스프링부트, 스프링, JPA

  1. 스프링(Spring)
    스프링은 집을 짓는 데 필요한 도구 상자라고 생각하면 된다.
    우리가 멋진 집(프로그램)을 만들려면 망치, 톱, 못 같은 도구가 필요하잖아?
    스프링은 개발자가 편하고 쉽게 프로그램(특히 웹사이트나 앱)을 만들 수 있게 도와주는 도구들이 가득한 상자다.
    예를 들어, "로그인 기능 만들어줘!"라고 하면 스프링은 이런 걸 쉽게 할 수 있는 방법을 제공해준다.

  2. 스프링 부트(Spring Boot)
    스프링 부트는 스프링을 더 편리하게 써먹을 수 있는 고속 조립 키트다.
    예를 들어, 일반 스프링은 도구 상자를 꺼내서 하나하나 설정해야 한다면,
    스프링 부트는 "걱정 마! 내가 다 조립해서 준비해줄게!" 하는 친구 같은 것이다.
    그래서 개발자가 필요한 기능들을 쉽게 설정하고 빠르게 실행할 수 있게 만들어준다.

  3. JPA(Java Persistence API)
    JPA는 데이터를 정리하고 저장하는 마법의 공책이라고 생각하면 된다.
    우리가 웹사이트에서 회원 정보를 저장하거나 상품 목록을 가져오고 싶을 때,
    이 데이터를 컴퓨터가 알아볼 수 있는 특별한 창고(데이터베이스)에 넣어야 한다.
    그런데 이걸 매번 사람이 직접 정리하려면 너무 힘들잖아?
    JPA는 “내가 알아서 공책에 정리하고 꺼내줄게!” 하면서 데이터를 쉽게 넣고 꺼낼 수 있게 도와주는 도구다.


  • 스프링: 프로그램 만드는 데 필요한 도구 상자

  • 스프링 부트: 스프링을 더 편리하게 써먹게 해주는 고속 조립 키트

  • JPA: 데이터 저장과 관리를 도와주는 마법의 공책

0개의 댓글