TIL-211101

박건희·2021년 11월 1일
0

1. (H2)DB 안 붙은 상황

  • 상황 : spring boot 프로젝트에서 DB(h2) console에 접속했는데 데이터가 생성 안되는 문제발생
  • 추측
    • h2 console 접속 오류(url, 기타 application.yaml의 spring.h2 오류0
      -> X
  • 실마리
    • save한 객체를 반환받아 출력해보니 null
    • JPA가 작동 안하는 것 발견
  • 원인
    • @WebMvcTest는 MVC 부분 테스트용(가볍게 test하려고 했음)
    • 테스트할 Controller 클래스를 지정
    • 이외 component는 주입하지 않아서 Repository를 @MockBean으로 주입했던 것 같은데...
      -> Repository가 mock 객체여서 JPA가 작동 안한것!
    • 어렴풋한 검색 결과로 @MockBean(JpaMetamodelMappinContext.class)를 추가했는데도 안됐던것 같다
      -> 확실하지 않아서 확인이 필요하다
      JPA metamodel must not be empty! - 참고
  • 해결 : 급한대로 @SpringbootTest를 사용함

2. @Embedded를 request에 포함하여 전달하는 방법

  • 아래와 같이 json 내부에 embedded class명을 key로 하는 json으로 전달 가능
    {
    ...
    "embedded class의 참조변수명" : {
    "필드1" : ~ ,
    ...
    },
    ...
    }

3. 사용자 정의 annotation 구현 : RequestBody 검증용

4. 정규표현식 : ~시 로 끝나는 문자열 매칭

  • "^[가-힣]+시$"
  • ^ : 문자열의 시작
  • [] : 괄호안의 문자중 1개
    • : 앞의 것이 1개 이상 등장
  • $ : 문자열의 끝

5. Git branch 관리

  • git branch를 잘 활용하면 복잡합 conflict나 해결하기 힘든 에러를 적절히 해결할 수 있을 것 같다

6. 원활한 팀활동을 위한 소통

  • 초반에 서로를 알아가는 시간이 있으면 좋겠다
  • 남의 말은 끝까지 듣기
  • 내 의견은 정확히 전달하기
  • 목표가 바뀌더라도 매 순간마다 목표를 갖고 있자(특히 팀 목표)

0개의 댓글