서버/Spring boot

#ORM, JPA, Spring data JPA, SQL

paran21 2022. 2. 5. 21:00

#SQL(Structured Query Language)

  • 관계형 데이터베이스 관리시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
  • 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다.
    • 데이터 정의 언어(DDL: Data Definition Language)
    • 데이터 조작 언어(DML : Data Manipulation Language)
    • 데이터 제어 언어(DCL: Data Control Language)

 

#ORM

  • 객체(Object)라는 개념을 구현한 클래스와 관계형(Relational) 데이터베이스에서 쓰이는 데이터인 테이블을 자동으로 연결(Mapping)하는 것을 의미한다.
  • 클래스와 테이블은 서로 호환가능성을 두고 만들어진 것이 아니기 때문에 불일치가 발생하고, ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 불일치를 해결한다.
  • ORM을 이용하면 따로 SQL문을 짤 필요 없이 객체를 통해 간접적으로 데이터베이스를 조작할 수 있다.

#JPA(Java Persistence API)

  • 자바 ORM 기술에 대한 표준 명세를 말한다.
  • Hibernate가 JPA를 구현한 프레임워크 중 사실상 표준이다.

#Spring data JPA

  • JPA를 편리하게 사용하기 위해 스프링에서 제공하는 모듈
  • JPA를 한 단계 추상화시킨 Repository라는 인터페이스를 제공하고, 사용자가 이 인터페이스에서 정해진 규칙대로 메소드를 입력하면 적합한 쿼리를 날리는 구현체를 만들어 Bean으로 등록해준다.

 

 

 

참고자료

'서버 > Spring boot' 카테고리의 다른 글

#에러처리  (2) 2022.02.07
#AOP  (0) 2022.02.07
#Spring security  (0) 2022.01.28
#DI, IoC, Bean  (0) 2022.01.28
#Spring MVC  (0) 2022.01.26