코드 훔쳐보는 변태 코더
춤 좋아하는 백엔드 개발자(였으면 좋겠다)
23-01-09 TIL

오늘 진행한 것들 🤔

  • 토이프로젝트 진행
    • 계정 수정, 중복 검증 기능 구현 및 뷰 구현
    • 캐릭터 검색 후 계정에 연결 기능 구현

 

오늘 겪었던 문제 🤔

  • 캐릭터 검색 결과를 어디까지 db에 저장해두어야 할까.
    • 따로 엔티티 객체를 생성하고 맵핑하지 않고 문자열 json을 통으로 db에 저장하기로 타협 (칼럼명이 일정하지 않은 캐릭터 스텟에 대한 정보를 json형태로 통으로 저장했다.)
    • 통계를 위해서 검색할때마다 100개씩 db에 저장하고 일일이 스텟을 저장하니 시간이 꽤 걸리는 것 같았다. 흠 ㅠㅠ 이 부분에 대해서 더 고민해보아야 할 것 같다.
    • 다른 정보 조회 사이트에서는 정보 조회 시에 캐릭터 명성까지 출력해 주지만, 명성을 조회하려면 디테일한 스텟까지 조회해야 한다. 하지만 단체 결과 조회 시에는 스탯까지 출력해주지 않기 때문에... 어떻게 해야 될지 고민을 좀 해봐야 할 것 같다.

 

 

오늘 해결한 오류 🤔

  • Embedded 어노테이션 사용 오류
    • Json 자체를 db에 저장할 때 따로 엔티티를 생성해서 저장해야 하나 고민을 하던 도중 엔티티 객체를 생성해 저장하고 Embbeded 어노테이션을 사용해서 따로 참조를 하지 않고 테이블 자체에 값을 함께 저장하는 걸로 생각을 했었는데, 그럴 필요 없이 단순 json 타입으로 dto 자체를 저장하면 됐었다.
      • 해당 문제로 인해 따로 Id를 생성하지 않거나 Id가 두 개라서 발생하는 오류를 겪었다. (Id값을 설정할 수 없음 오류, Id 프로퍼티를 찾지 못함 오류)
      •  

이렇게 필드에 JSON 자체를 저장하도록 변경했다.
JSON schema 에 해당 어노테이션을 붙여주면 끝

  • The property Class in Json Type Descriptor is null 오류 발생 -> Json을 객체에 맵핑하여 저장하는 것은 오류가 없지만, 다시 saveAll 할 때, 기존 객체와의 비교를 위해 json 객체를 꺼낼 때 다시 맵핑해줄 객체를 찾지 못할 때 발생하는 오류라고 한다.
    • 이 부분은 검색해도 나오지 않아서 일단 보류 
      • TypeDef 어노테이션을 사용하지 않고 따로 Mapper로 컨버터 어노테이션을 사용해서 칼럼에 값을 넣어주어야 하나.. 고민이 된다. ㅠㅠ.

오늘의 배운 점🤔

  • 오늘은 json을 db에 통째로 넣는 방법을 배웠습니다.
    • 하지만 객체를 맵핑하는 데에 이상이 생긴 것 같습니다.. 더 고민을 해봐야 할 것 같습니다.
  • 그 외에는 다행히 막힌 부분 없이 오늘도 잘 보낸 것 같습니다 ㅎㅎ 

'TIL' 카테고리의 다른 글

23-01-12 TIL  (0) 2023.01.12
23-01-10 TIL  (0) 2023.01.10
23-01-07 TIL  (0) 2023.01.08
23-01-06 TIL  (0) 2023.01.07
23-01-05 TIL  (0) 2023.01.05
  Comments,     Trackbacks