Replies: 1 comment
-
밍곰! 좋은 포인트 짚어주셔서 감사합니다~ 저는 온보딩 단계에서 사용자가 신체 정보를 입력하지 않아도 회원 가입이 완료되고, 홈 화면까지 진입할 수 있도록 하는 방향을 고려했습니다.
이러한 이유로, 로직 구현 중 의도에 대해 논의를 진행하였고 결론적으로 신체 정보는 선택 필드로 처리하기로 결정되었습니다! 로직 상으로는 public Gender getGender() {
return gender != null ? gender : Gender.MALE;
}
public Double getWeight() {
return weight != null ? weight : 60.0;
} 성별의 경우, 남성 기준이 비교적 많은 음용량을 추천하게 되므로, 또한 말씀하신 것처럼, 이 방식은 로직에서 사용되는 값과 DB에 저장되는 값 사이의 불일치가 존재합니다. 현재는 음용량 추천이라는 특정 목적에서만 해당 값들을 사용하고 있으며, 따라서 말씀 주신 1번이 의도된 동작입니다~ 기획 의도나 방향에 대해 추가적인 의견 있으시면 언제든 편하게 말씀해주세용!! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
그렇다면
무게
/성별
필드가null
인 경우 (= 사용자가 온보딩에서 입력하지 않은 경우) 에, 무게 또는 성별 필드가 필요한 로직에서 어떻게 처리되는 건가요?현재
PhysicalAttributes
코드가 아래처럼 작성되어 있는데, 코드상으로 보면1번
을 의도하신 것으로 보여요.그런데 개인적으로 아래에서 설명드릴 문제(?) (= 로직 상에서 처리되는 값과 DB에 저장된 값 사이의 불일치) 를 의도하신건지 의문이 들었습니다.
실제 DB에 저장된 값이
NULL
일 때, 로직 상에서는 성별과 무게가 각각MALE
과60.0
으로 처리되는 것으로 보이는데요,그렇다면
실제 DB에 저장된 값
과로직에서 수행되는 값
사이에 정합성이 어긋나지 않나요??만약 사용자가 값을 입력하지 않은 경우, 몸무게와 성별을 각각
60
,MALE
로 저장하고자 한다면 아래와 같이@PrePersist
어노테이션을 활용하는 것이 어떨까 싶습니다.그리고 맨 처음에 질문 드린 것처럼
사용자가 무게 혹은 성별을 입력하지 않았을 때, 해당 값들을 필요로 하는 로직에서
예외가 발생하지 않도록 하는 것
이 기획에서도 합의되어 의도된 것인지도 다시 한번 확인해보고 싶습니다Beta Was this translation helpful? Give feedback.
All reactions