벡엔드/SpringBoot

JPA, ORM이란? 기본 개념 잡기

코딩하는이씨 2023. 7. 26. 18:29
728x90
반응형
ORM이란 ?
ORM은 객체와 관계형 데이터베이스의 데이터를 자동으로 연결 해주는 도구이다.

 

ORM이 필요한 이유

객체를 관계형 DB에 관리하는 일이 대부분이 되면서 객체와 데이터베이스의 테이블의 불일치를 해결하고 객체를 통해 간접적으로 데이터베이스의 필드를 다루기 위해 필요하다.

 

 

ORM의 장점

  • 직관적인 코드를 가지고 쿼리가 아닌 메서드로 데이터를 조작할 수 있어 생산성이 높아진다.
  • SQL의 절차적 접근이 아닌 객체 지향적인 접근을 통해 개발할 수 있다.
  • 재사용 및 유지보수 편리성이 증가한다.

 

JPA란

자바 진영에서 ORM기술 표준으로 사용하는 인터페이스 모음이 바로 JPA이다.

특정 기능을 하는 라이브러리가 아닌 ORM을 사용하기 위한 기술을 모아둔 것이다.

 

 

JPA를 사용해야 되는이유

  • SQL 중심적인 개발에서 객체 중심으로 개발할 수 있다. (기존에는 SQL에 너무 많은 시간을 투자해야 했다.)
  • 생산성유지보수 측면에서 JPA를 사용하는 것이 좋다
  • 패러다임의 불일치를 해결 할 수 있다.
  • 성능면에서 이점을 가져갈 수 있다.
  • 데이터 접근 추상화벤더 독립성을 가진다.

 

하이버네이트 (Hibernate)?

JPA의 구현체로, JPA인터페이스를 구현하며 내부적으로 JDBC API를 사용한다.

JPA는 단순 명세이기 때문에 구현이 없다.

 따라서 JPA의 구현체인 하이버네이트와 같은 ORM 프레임워크를 사용해야 한다.

 

 

 

728x90
반응형