JPA는 언제 필요하고 언제 필요하지 않은지

allnight5·2023년 3월 20일
0

기술공부

목록 보기
4/33

기존 자바에서 DB로 접근하기 위한 API인 JDBC와 직접 하드코딩한 쿼리를 사용하여 데이터베이스를 조작하였지만,
JPA를 사용하여 데이터를 객체지향적으로 관리하여 비즈니스 로직에 더욱 집중할 수 있게 되었다.
따라서 이와같은 작업이 필요할 때 JPA를 사용한다.
1. 객체 중심적인 개발을 할 때
2. SQL을 작성하지 않고 빠르게 CRUD 구현을 할 때
3. 유지보수가 많이 필요할때 (EX. 컬럼명 변경시 모든 SQL쿼리를 수정하여야 하지만 JPA 사용시 클래스의 필드만 변경하면 됨.)

JPA가 필요하지 않는경우
1.기본적인 CRUD에는 JPA를 사용하면 간단한 구현이 가능하지만 복잡한 조회나 혹은 성능의 개선이 필요할 때가 있다.
통계 처리 같은 복잡한 쿼리가 필요한 경우에는 JPA 보다는 SQL문이 오히려 나을 수도 있습니다.
2.JPA에서 Native SQL Query를 사용할 수 있지만 특정 데이터베이스에 종속 된다는 문제가 있습니다.
이를 보완하기 위해 JPA에서는 SQL과 유사한 기술인 JPQL을 지원합니다.
3. JPA에 대한 이해가 부족해 잘못된 매핑으로 설계하는 경우 N+1 문제로
성능 저하가 발생할 때에도 JPA대신 JPQL이나 QUERY DSL을 사용하여 DB에 접근한다.

profile
공부기록하기

0개의 댓글