목록으로
DB

JPA에 대해서 알아보자

Dev Park
5/24/2023
34 views

서론

Spring을 사용하기 전 알아야하는 개념중 JPA가 있다.
Java에서 표준화된 방식으로 데이터베이스와 상호작용하게 해주는 것이 JPA이다.
오늘은 JPA에 대해서 알아보자

JAP란?

Java Presistence API

JPA는 객체 지향 프로그래밍과 관계형 데이터베이스 사이를 이어주는 ORM으로서 Java에서 사용하는 ORM 기술표준 인터페이스의 모듬이다.
JPA를 사용하는 것은 TypeORM과 마찬가지로 쿼리문을 직접 작성할 필요 없이 객체로 데이터베이스를 컨트롤 할 수 있다.

JPA를 사용해야하는 이유

생상성

JPA의 주요 이점 중 하나는 개발자의 생산성을 향상시킬 수 있다.
JPA를 사용하면 일반적인 데이터베이스 작업을 위한 주석과 API를 제공하여 개발자가 상용구 코드를 덜 작성할 수 있게 된다.
이 추상화를 통해 개발자는 SQL쿼리를 작성하고 관리하는 대신 비즈니스 논리에 더 집중할 수 있다.

독립성

JPA는 데이터베이스에 종속되지 않는다.
즉, 기본 데이터베이스에 대한 추상화 계층을 제공하여 애플리케이션이 최소한의 코드 변경으로 다른 데이터베이스 시스템 간에 전환을 할 수 있도록 한다.
이 기능은 다양한 데이터베이스 기술에서 애플리케이션의 이식성을 향상시킨다.

유형 및 매개변수 처리

JPA는 쿼리 매개변수를 설정하고 다양한 데이터 유형을 처리하는 프로세스를 단순화한다.
데이터베이스의 유형과 Java유형 간의 유형 변환을 수동으로 처리하는 대신 JPA가 자동으로 처리한다.
이는 오류 가능성을 줄이고 코드를 단순화한다.

불필요한 쿼리 방지

JPA는 불필요한 SQL 쿼리를 최소화하여 데이터베이스 상호 작용을 최적화하는데 도움이 된다.
지연 로딩 및 더티 검사와 같은 기술을 통해 이를 수행할 수 있다.
여기서 필요할 때만 데이터를 로드하고 변경된 필드만 업데이트 한다.

캐싱

JPA는 다양한 수준의 캐싱을 지원하므로 애플리케이션의 성능을 크게 향상 시킬 수 있다.
JPA를 사용하면 애플리케이션이 자주 사용하는 데이터를 캐시하여 반복된 데이터베이스 쿼리를 피할 수 있으므로 대기 시간이 줄어들고 속도가 향상된다.

Spring 데이터와의 통합

JPA와 Spring 데이터의 통합은 Spring 애플리케이션에서 데이터 엑세스 계층을 구축하는 프로세스를 단순화한다.

마치며

Spring에서 JPA는 필요한 도구이지만 이를 잘 사용하려면 적절한 이해와 올바른 사용이 필요하다.
JPA를 사용하므로서 애플리케이션을 효율적이고 유지보수를 용이하게 만들 수 있다.