spring jpa 2

[React-Query / Spring Boot] 무한 스크롤 구현하기 (Full Stack Version) (useInfiniteQuery 무한 스크롤, Spring 무한 스크롤, No Offset)

필자는 Next.js와 Spring Boot를 이용해 서비스를 개발하고 있다. 이번에 무한 스크롤 기능이 필요했는데, No-Offset 방식의 레퍼런스가 많이 없어 애를 먹었다. 시행착오 끝에 잘 작동하여 이를 정리해보고자 한다. 근데 No-Offset이 뭐지? No-Offset 페이지네이션은 Offset을 사용하지 않고 페이지네이션을 진행한다는 말이다. Offset은 게임 개발할 때 많이 쓰이는 단어이기도 하다. 일반적으로 Offset을 사용하는 페이지네이션은 Offset(어디부터) limit(몇개의) 데이터를 불러올지 결정한다. 즉, 네이버 카페 같은 곳에서 볼 수 있는 위와 같은 번호들이 페이지 넘버이고 이 페이지 넘버가 Offset이라고 생각하면 된다. No-Offset은 이러한 Offset을 사..

[Spring] JPA 란? (JPA의 탄생 이유와 개념, 장단점) (+ ORM이란 / ORM의 개념)

기존의 문제점 현대의 웹 어플리케이션에서는 대부분 관계형 데이터베이스(RDB)가 쓰인다. (ex. Oracle, MySQL...) 그러다 보니 객체를 관계형 데이터베이스에서 관리하는 것은 무척 중요해졌다. 문제는 코드의 대부분이 어플리케이션 코드보다 SQL로 가득차게 됐다는 것이다. 이는 관계형 데이터베이스가 SQL만 인식할 수 있었기 때문이었다. 이에 각 테이블마다 기본적인 CRUD SQL을 매번 생성해야 했다. 이런 문제로 인해 자바 클래스를 아무리 잘 설계한다해도 결국은 SQL을 통해야만 저장, 조회가 가능했고 반복적인 SQL들이 늘어났다. 규모가 커질수록 테이블은 늘어났고 테이블의 몇 배가 되는 SQl은 만드는 것 뿐만 아니라 유지 보수도 굉장히 어려웠다. 또한 패러다임 불일치 문제도 있었는데, ..

Back-End/Spring JPA 2022.12.14
반응형