Programming-[Backend]/SpringBoot
[TIL] Unique Id 아닌 값을 바탕으로 조회 및 update 할 때, findTopBy
컴퓨터 탐험가 찰리
2021. 6. 29. 14:50
728x90
반응형
다음 그림과 같이 Unique 값이 아닌 Id 값이 있는 경우가 있어서는 안되지만 있을 수도 있다.
그런데 만약 이 contact_id값을 바탕으로 객체를 불러와서 업데이트 하는 상황이라면,
일단 엔티티 객체를 조회할 때 contact_id에 해당하는 모든 엔티티 객체를 List 형태로 불러오고
List 내부의 모든 엔티티 객체의 값을 업데이트 하는 것이 바람직할 것이다.
상황에 따라 다르겠지만, 그렇게 해야 contact_id를 통해 값을 조회했을 때 일관성있는 결과값을 기대할 수 있게 된다.
차선의 방법으로, JPA에서의 findTop 메서드를 활용하여 쿼리 결과가 1개만 나오도록 해야 쿼리 결과상 문제가 발생하지 않는다. 쿼리 결과는 엔티티 객체 1개만 리턴하도록 지정해뒀는데, contact_id로 조회했을 때 2개 이상의 결과가 나오면 문제가 되기 때문이다.
728x90
반응형