본문 바로가기
Backend Study/JPA

피할 수 없는, JPA

by DaSsom 2023. 4. 20.

 

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 프로그래밍

 

[자바 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