Spring JPA에서 동적 'where' 절 사용하기
Spring JPA Repository를 사용하면서 where 절의 조건을 동적으로 추가하고 싶을 때가 있습니다. 이러한 상황은 예상보다 흔하지만, 해결 방법을 찾는 것이 어려울 수 있습니다. 여기서는 공식 문서를 참고하여 Example.of 메소드를 사용하는 방법에 대해 설명합니다.
[User] 클래스 예시
'User'라는 클래스가 있고, 이 클래스에 'name', 'age' 속성이 있다고 가정해봅시다. 그리고 이를 기반으로 유저 검색 API를 생성하려 합니다. 요청에 따라 전체 또는 이름으로 검색하거나 둘 다 가능하게 하려면 어떻게 해야 할까요?
동적 'where' 절 구현 코드
@GetMapping("/users") public ResponseEntity<?> findUser(@ModelAttribute User user) { List<User> findResult = jpaRepository.findAll(Example.of(user)); response.put("users", findResult); return ResponseEntity.ok(response); }
Example.of 메소드를 사용함으로써 위와 같이 간단히 구현할 수 있습니다. 이제 클라이언트 측에서 'name'이나 'age' 값을 넣어 요청하면, where 절이 동적으로 적용됩니다.
0 개의 댓글:
Post a Comment