Spring/Spring Data 2

[Spring Data] JPA를 활용해 pagination 구현하기

들어가며웹 애플리케이션에서 무한 스크롤이나 페이징을 통해 데이터를 나눠 불러오는 방식은 서버 성능과 사용자 경험을 모두 고려한 방식입니다. 한 번에 모든 데이터를 불러오면 페이지 로드 속도가 느려지고, 특히 데이터가 1000개 가까이 되는 경우 사용자 경험과 성능에 부정적인 영향을 줄 수 있습니다. 이번 쇼핑몰 프로젝트에서도 메인 페이지에 약 1000개의 상품 데이터를 한 번에 불러오는 것은 비효율적이라 판단하여 페이징 처리를 도입하기로 했습니다. 이번 글에서는 Spring Data의 페이지네이션 기능을 위해 사용하는 클래스&인터페이스에 대해 설명하고, 이를 어떻게 활용하는 지 설명하겠습니다.  클래스 & 인터페이스먼저 페이지네이션을 위해 사용한 Spring Data의 인터페이스와 클래스입니다.인터페이스..

Spring/Spring Data 2024.11.15

[Spring Data] JPA의 EnableJpaAuditing으로 Entity 필드 관리

들어가며반려동물 쇼핑몰 프로젝트에서 JPA를 이용한 Entity 클래스 생성을 도맡았습니다. 프로젝트의 규모가 생각보다 커져서 테이블이 10개 넘게 나와서 Entity의 필드 정의하는데 시간이 꽤 걸렸고, 끝나고 나니 중복되는 필드들이 많았습니다. 중복되는 필드에 대해 하나의 글로벌 클래스에서 처리할 수 있는 방법이 없을까 고민하다가 추상 클래스를 만들고 상속 받도록 했습니다. 그 중에 생성 일시 필드는 객체가 생성될 때 자동으로 값이 할당되면 좋을 것 같아서 이리저리 방법을 찾아봤습니다. 결국, Github에서 다른 사람들의 Repository 중 JPA의 EnableJpaAuditing Annotation으로 Auditing 기능을 활성화해서 Entity의 생명 주기를 자동으로 관리하도록 만든 것을 ..

Spring/Spring Data 2024.11.03