ORM (Object Relational Mapping) :
객체와 테이블을 매핑시켜 따로 쿼리문 작성 없이도 DB를 사용할 수 있게 해주는것!
이라고 최종적으로 이해했다.
예를들면 한 테이블의 데이터를 조회하기 위해서는 원래는 select * from tb_test 와 같은 쿼리문이 필요하지만,
ORM을 쓴다면 코드에서 해당 테이블(tb_test) 과 매핑된 객체(test) 를 통해 조회( test.findAll() )가 가능하다!
JPA (Java Persistence API) :
ORM을 JAVA언어에 맞게 사용하는 '스펙'이다. ORM을 사용하기 위한 인터페이스를 모아둔것.
JPA는 단순 스펙이기 때문에 회사마다 모두 다른 이름을 가지고 있는데 그 중 가장 유명한건 hibernate다.
* 구글 트렌드를 확인해보니 신기하게도 동아시아를 제외하고는 모두 hibernate를 사용했다.
왜 동아시아만 mybatis를 많이 사용하는거지..??
Spring Data JPA :
Spring Data JPA는 하나의 프레임워크로, Hibernate를 스프링부트에서 쉽게 사용할 수 있는 추가적인 API를 제공한다.
ex) JpaRepository
JpaRepository는 아래와 같이 쓰인다.
//public interface 이름 extends JpaRepository <엔티티 ID 유형>
public interface TestRepo extends JpaRepository <memo Long>
Spring Data JPA 에는 여러가지 인터페이스 기능이 있어서, 이를 통해 JPA를 더 쉽게 사용가능하다.
'study > backend' 카테고리의 다른 글
[TIL] 10 H2 db 설치하기 (0) | 2023.06.22 |
---|---|
[TIL] 08 @ManyToOne, @OneToMany.. (0) | 2023.06.20 |
[TIL] 07 @RequestMapping, @Builder (0) | 2023.06.19 |
[TIL]04 IOC Container, PSA, Proxy (0) | 2023.06.06 |
[TIL] 03 Spring Bean, DI, @Autowired, IOC, AOP (0) | 2023.06.05 |