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개
- $ : 문자열의 끝
5. Git branch 관리
- git branch를 잘 활용하면 복잡합 conflict나 해결하기 힘든 에러를 적절히 해결할 수 있을 것 같다
6. 원활한 팀활동을 위한 소통
- 초반에 서로를 알아가는 시간이 있으면 좋겠다
- 남의 말은 끝까지 듣기
- 내 의견은 정확히 전달하기
- 목표가 바뀌더라도 매 순간마다 목표를 갖고 있자(특히 팀 목표)