728x90
반응형
다음 그림과 같이 Unique 값이 아닌 Id 값이 있는 경우가 있어서는 안되지만 있을 수도 있다.
그런데 만약 이 contact_id값을 바탕으로 객체를 불러와서 업데이트 하는 상황이라면,
일단 엔티티 객체를 조회할 때 contact_id에 해당하는 모든 엔티티 객체를 List 형태로 불러오고
List 내부의 모든 엔티티 객체의 값을 업데이트 하는 것이 바람직할 것이다.
상황에 따라 다르겠지만, 그렇게 해야 contact_id를 통해 값을 조회했을 때 일관성있는 결과값을 기대할 수 있게 된다.
차선의 방법으로, JPA에서의 findTop 메서드를 활용하여 쿼리 결과가 1개만 나오도록 해야 쿼리 결과상 문제가 발생하지 않는다. 쿼리 결과는 엔티티 객체 1개만 리턴하도록 지정해뒀는데, contact_id로 조회했을 때 2개 이상의 결과가 나오면 문제가 되기 때문이다.
728x90
반응형
'Programming-[Backend] > SpringBoot' 카테고리의 다른 글
[링크][중요] Mapstruct 라이브러리, DTO와 Entity 검증의 주체가 되야하는 부분 (0) | 2021.09.12 |
---|---|
[TIL][중요]Entity의 필드값 변경은 Service가 아닌 Entity에서 처리 (2) | 2021.08.26 |
[TIL] @JsonNaming 으로 Camel Case 필드값 Snake Case로 자동변환 (0) | 2021.06.21 |
[TIL] @JsonFormat으로 @DateTimeFormat 대신 Date까지만 받기 (0) | 2021.06.16 |
[TIL] @SuperBuilder 사용법 (0) | 2021.06.07 |