-
eclipse와 intellij의 차이점, ORM과 JPA란TIL(Today I Learned) 2021. 10. 30. 16:05
intellij는 처음 설치부터 필요한 모든 플러그인들이 다 다운로드 되어있어서 프로그래밍 속도나 사용성에서는 이클립스보다 우위를 점하지만 비교적 무겁다는 단점이 있고
eclipse는 플러그인을 개인이 설치해야해서 인텔리제이에 비해 가볍다는 장점이 있다.
이클립스는 오타로 인한 오류를 인텔리제이에 비해 잘 잡아준다는 장점이 있다.
때문에
처음 개발을 시작하는 사람이라면 이클립스를 추천하고
실력이 있어, 개발 속도가 중요한 프로그래머에게는 인텔리제이를 추천한다고 한다.
TRM(Table Relational Mapping)은 DB 테이블을 먼저 설계하고 그 테이블 설계를 자바로 가져와서 설계하는 방식을 의미한다. 즉, ORM의 반대 의미를 가진다.
ORM은(Object Relational Mapping) 오브젝트를 먼저 설계하고 즉, 자바에서 객체를 먼저 설계하고 그 객체를 자동으로 테이블화 시키는 것을 의미한다. 이떄 필요한것이 JPA가 가지고 있는 인터페이스이다.
그럼 JPA(Java Persistence API)란 무엇일까?
JAP는 Java Persistence API의 약자인데, 여기서 Persistence는 영속성이란 의미를 갖고 있다. 즉, 데이터가 실행이 중지 되더라도 데이터가 삭제되지 않고 보존된다는 의미이다. 이때 데이터를 보존하기 위해 DBMS를 통해 DB에 저장하는 과정을 갖는다.
API란?
Application Programming Interface의 약자인데,
여기서 인터페이스는 "상하관계가 존재하는 약속"을 의미한다.
이 말은 인터페이스를 제공하는 사람이 정한 규칙을 인터페이스를 이용하는 사용자가 따라야하기 때문에 상하관계가 존재하는 약속이라는 해석이다.
반대되는 개념으로 Protocol이 있다.
프로토콜은 상하관계가 아닌 서로 동등한 위치에서 약속한다.
요약하자면 JPA는 ORM 자바진영의 ORM 기술을 표준으로한 인터페이스의 모음이고,
이 인터페이스를 이용해서 DB CRUD를 쉽고 빠르게 처리할 수 있다라는 큰 장점이 있다는것이다.
'TIL(Today I Learned)' 카테고리의 다른 글
SOAP과 REST란? (0) 2021.11.01 MSA(Micro Service Architecture)란? (0) 2021.11.01 windows 환경에서 JDK와 eclipse 설치 (0) 2021.10.29 Web Socket 과 HTTP 통신의 차이, Socket.io패키지, 네임스페이스 (0) 2021.10.28 javascript ES5+ operator, if, for loop (0) 2021.10.27