Wanna be Brilliant Full-Stack Developer
SpringBoot JPA란? 본문
JPA란 무엇인가? Java Persistence API
Persistence 은 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다.
ex)
Ram이 있으면 휘발성 데이터만 저장할수있다. (Ram은 전기로 데이터를 저장하기때문에 )
안에 있는 데이터는 컴퓨터가 꺼지면 다 사라진다. ex) 정전(blackout)이면 다 사라진다.
Ram에 있는 소중한 데이터들을 하드디스크에 기록하게 되면 하드디스크는 비휘발성이기때문에 영구적으로 저장된다.
영속성이라는건? 어떠한 하나의 데이터가 영구히 기록될수 있게 해주는것
영구히 기록되게 할때는 Java에서는 데이터 저장을 파일 시스템인 하드디스크에하는것이 아니라 DBMS라는 특정부분에 데이터베이스에서 관리하고 있다.
JPA : JAVA Persistence API라는거는 자바에 있는 데이터를 DBMS(하드디스크의 일부분) 영구히 기록할수있는 환경을 제공하는 API이다.
API : Application (A) : 프로그램 , Programming (P) : 프로그램을 만드는 방법 , Interface (I) : 만들게 해주는 인터페이스
이 프로그램을 만들기 위해서 제공해주는 인터페이스가 무엇인지 개념이 잡혀야한다.
프로토콜 과 인터페이스라는 프로그램에서 개념이 있다.
프로토콜은 어떤 약속을 말하고 인터페이스도 어떤 약속을 의미한다.
약속의 방식이 조금은 다르다.
A 와 B와 C가 있는데 B가 가장 강력하여 명령을 내리는데
" 이제 나한테 연락을 할때에는 전화하지말고 직접 찾아와! "
그러면 A와 C는 힘이 없어서 B가 말한 규칙을 어쩔수 없이 따라야하는 상황이 생기는데
이 규칙이 INTERFACE 인터페이스이다.
ex) 어떠한 프로그램에서 A와 B라는 기능이 있는데 이 두기능이 너무 좋아서 다른사람들과 함꼐 공유하고 싶은데 다른 여러명의 사람들이 A라는 기능을 사용하고 싶은데
이 프로그램을 만든 장보고 라는 사람에게 A데이터를 사용을 원하면 밤 12시 ~ 새벽 6시까지만 가능해 라는 인터페이스를 만들 수 있다.
장보고는 다른사람들에게 공유해도 되고 안해도되는 힘이 있다. 그래서 파워가 있는 사람들은 어떠한 규칙을 정할떄 다른사람들과 상의하지않고 너가 쓰고 싶으면 너가 인터페이스를 지키고 사용해야해 말하면
홍길동과 같은 사람은 그 명령에 따라 데이터를 사용하고 프로그램을 만들수 있다.
데이터를 통해서 프로그램을 짜면 그것은 API이다. 그것은 인터페이스는 상하 관계가 존재하는 약속이다.
반대로 프로토콜에서 말하는 약속은 A , B , C가 있을떄 이 세명의 권리가 동등하다.
인터페이스와 같이 한명이 명령을 하면 다른 사람은 거절할수 있다. 거기서 B는 하지말라고 말할수 없다.
그래서 B는 다른 대안책을 찾아서 서로에게 잘맞는 세명이 동의할 수 있는 프로토콜을 만들어야한다.
ex) 이메일로 연락하자!
JPA: 자바 프로그래밍을 할떄 영구적으로 데이터를 저장하기 위한 인터페이스가 JPA이다.
'Some Memos > Java' 카테고리의 다른 글
2/14 Java 자료형 메모리 구조 개념 익히기! (0) | 2022.02.15 |
---|---|
Java 개념정리! 자료형은 무엇인가? (0) | 2022.02.12 |
Java Static, Heap , Stack 이란? (0) | 2022.02.10 |
Java 컴파일과 실행원리 (0) | 2022.02.09 |
JDK 환경변수란?? (0) | 2022.02.09 |