JPA가 뭐야?
Java Persistence API : 자바 + (없어지지 않고) 지속됨 + API → 자바 ORM 기술에 대한 표준 명세..
흠, ORM은 또 뭐야?
Object Relational Mapping : 객체 + 관계 + 매핑 → 객체가 테이블이 되도록 매핑 시켜주는 것!
ORM을 이용하면 SQL Query가 아닌 직관적인 코드로서 데이터를 조작할 수 있음
즉, SELECT * FROM table; 라는 쿼리문을 쓰지 않고 table.findAll() 이라는 메서드를 쓸 수 있게 해준다.
아주 편하지만 쿼리가 복잡해지면 ORM으로 표현하는게 한계가 있다. 그리고 raw query 보다 느리다.
그러니까 위의 이야기를 종합해보면,
JPA는 영속성 관리를 위한 인터페이스, 이 기능을 구현해놓은 구현체가 ORM
이 ORM은 SQL을 생성해서 DB에 전달하고 다양한 문제들을 해결해주고 매우 간편하게 DB를 알아서 조작해주는 녀석.
그래서 개발자는 조금 더 객체지향적인 프로그램의 비즈니스 로직에 집중할 수 있다.
Entity Object를 DTO정도로 생각하면 되려나? DTO에 데이터를 담아 persist() 저장 메소드를 편하게 호출하면, JPA에 있는 ORM이 알아서 분석하고 쿼리를 생성하여 관계형 데이터베이스에 적절하게 저장을 해줌?
reference
[자바 ORM 표준 JPA 프로그래밍] JPA란?
JPA (Java Persistence API)는 자바 진영의 ORM 기술 표준애플리케이션과 JDBC 사이에서 동작ORM(Object Relational Mapping)은 객체와 관계형 데이터 베이스를 매핑.이를 통해 패러다임의 불일치 문제를 개발자
velog.io
https://victorydntmd.tistory.com/195
[Spring JPA] ORM과 JPA 그리고 Hibernate
2020.03.06 수정 1. JPA ( Java Persistent API )와 ORM ( Object Relational Mapping )JPAJPA란 자바 ORM 기술에 대한 API 표준 명세를 의미합니다.JPA는 ORM을 사용하기 위한 인터페이스를 모아둔 것이며, JPA를 사용하기
victorydntmd.tistory.com
'Backend Study > JPA' 카테고리의 다른 글
연관관계.. I don't know.. (0) | 2023.05.06 |
---|---|
Persistence Context ! (0) | 2023.04.29 |