JPA 5

[Spring] JPA Pageable로 페이징 구현하기

대규모 데이터를 다룰 때, 한 번에 모든 데이터를 가져오는 것은 성능 상 문제가 될 수 있습니다. 이때 페이징(Pagination)을 통해 데이터를 나누어 처리하면 메모리 사용량을 줄이고, 서버 성능을 최적화할 수 있습니다. Spring Data JPA에서는 Pageable 인터페이스를 사용하여 간단하게 페이징을 구현할 수 있습니다.이번 포스팅에서는 Pageable의 개념, 사용법, 그리고 페이징과 정렬을 어떻게 적용하는지 살펴보겠습니다.1. Pageable이란?Pageable은 Spring Data JPA에서 제공하는 인터페이스로, 특정 페이지의 데이터를 가져오는 데 필요한 정보를 정의합니다. 페이지 번호, 한 페이지에 포함될 데이터의 개수, 정렬 방식 등을 설정할 수 있습니다. 이와 함께 사용되는 P..

Develop/Spring 2024.10.17

[Spring] JPQL, QueryDSL : 기본 개념과 사용 예시

Spring Boot와 JPA를 사용하는 개발 환경에서 데이터베이스와 상호작용할 때 JPQL과 QueryDSL은 중요한 역할을 합니다. 이 글에서는 JPQL과 QueryDSL의 기본 개념을 소개하고, 각 기술을 활용한 예시 코드를 제공하여 차이점을 이해할 수 있도록 설명합니다.1. JPQL과 QueryDSL이란?JPQL (Java Persistence Query Language)는 JPA에서 제공하는 쿼리 언어로, 객체를 대상으로 하는 쿼리를 작성할 수 있습니다. SQL과 유사하게 보이지만, SQL과는 달리 데이터베이스 테이블이 아닌 JPA 엔티티를 기반으로 작동합니다.QueryDSL은 타입 안전성, 코드 자동 완성, 동적 쿼리 생성 등 다양한 장점을 제공하는 쿼리 빌더 라이브러리입니다. QueryDSL..

Develop/Spring 2024.09.20

[Spring] Spring Boot JPA와 JPA Repository 이해하기

Spring Boot JPA와 JPA Repository는 데이터베이스와의 상호작용을 간편하게 해주는 도구입니다. 이 글에서는 JPA, Spring Data JPA, JPA Repository의 개념을 이해하고 간단한 예시를 통해 사용법을 알아보겠습니다.1. JPA (Java Persistence API)란?JPA는 자바 애플리케이션에서 객체와 데이터베이스 간의 매핑을 관리하는 Java 표준 API입니다. 복잡한 SQL 쿼리 작성 없이도 자바 객체와 관계형 데이터베이스 테이블을 쉽게 연결할 수 있도록 도와줍니다. 2. Spring Data JPA란?Spring Data JPA는 JPA의 기능을 더욱 쉽게 사용할 수 있도록 Spring에서 제공하는 라이브러리입니다. Spring Boot와 결합하면 설정이 ..

Develop/Spring 2024.09.19

[Java] JPA 엔티티 관계 매핑 : @OneToOne, @ManyToOne, @ManyToMany

자바 개발자라면 데이터베이스와의 상호 작용이 필수적인데, JPA(Java Persistence API)는 이를 간소화하며 객체 지향적으로 데이터베이스를 관리할 수 있게 해줍니다. 특히, 엔티티 간의 관계를 매핑하는 것은 JPA를 사용하는 데 있어 중요한 부분입니다. 본 글에서는 JPA의 세 가지 주요 관계 매핑 타입인 @OneToOne, @ManyToOne, @ManyToMany에 대해 자세히 살펴보겠습니다.@OneToOne 관계@OneToOne 관계는 엔티티 간에 1:1 관계를 나타냅니다. 각 엔티티 인스턴스는 다른 엔티티의 단 하나의 인스턴스와 연결됩니다. 예를 들어, 한 사람이 하나의 여권을 소유하는 관계가 이에 해당합니다.@Entitypublic class Person { @Id @Ge..

Develop/Java 2024.08.15

[Java] JPA 엔티티 : 외래키 설정 vs ID 저장 방식 비교

JPA(Java Persistence API)는 자바 애플리케이션에서 객체와 관계형 데이터베이스 사이의 데이터를 쉽게 관리할 수 있도록 도와주는 ORM(Object-Relational Mapping) 프레임워크입니다. JPA를 사용하여 데이터베이스와 상호 작용할 때, 외래키(Foreign Key) 설정 방식과 다른 테이블의 ID만을 저장하는 방식의 차이점, 장단점, 그리고 객체지향적인 설계와 ORM 방식에 미치는 영향을 알아보겠습니다.외래키 설정 방식외래키 설정 방식은 JPA 엔티티에서 다른 엔티티와의 관계를 나타내기 위해 외래키를 사용하는 방법입니다. 이를 통해 데이터베이스의 참조 무결성을 유지할 수 있습니다.@Entitypublic class Order { @Id @GeneratedValue ..

Develop/Java 2024.08.03