J-Felog
aboutposts
Spring
1 posts
[Spring Boot] JPA Specification을 이용한 쿼리 조건 처리

Spring Boot에서는 기본적인 CRUD가 가능하도록 JpaRepository 인터페이스를 제공하는데 여기서 findByName 같은 형식으로 쿼리 메서드를 만들어서 조건에 맞게 검색할 수 있다. 하지만 조건이 다양해지면 그만큼 쿼리 메서드도 많이 필요하고, 코드도 복잡해지는 문제점이 생긴다. 다음은 실제 스프링을 이용한 프로젝트에서 쿼리 메서드가 많아지면서 복잡해진 수정 전 코드다. 스프링으로 하는 첫 프로젝트여서 기본적인 쿼리 메서드 사용 방법만 알고 있는 상태로 조건 처리를 하려고 했는데, 조건이 복잡해지면서 코드도 복잡해졌고 실행에는 문제가 없지만 그냥 봐도 리팩토링이 필요한 코드라는 생각이 들었다. 그래서 더 간단하게 코드를 짜는 방법이 있을 거라고 생각하면서 구글링을 한 결과, JPA Specification을 활용하면 보다 간단하게 구현할 수 있다는 것을 알게 되었다. JpaSpecificationExecutor 상속 우선 JPA Specification을 사용하기…

April 24, 2022
Spring

© 2023 Go Jaecheol | Theme by zoomkoding-gatsby-blog