백앤드 4

[Spring] Mockito - mockmaker subclassbytebuddymockmaker does not support the creation of static method 에러 해결

오늘은 스프링 테스트 코드를 짜면서 에러가 있었다. 별 건 아니고 Static Method 를 이용하고 있었는데 Mockito 를 사용하여 테스트 코드를 작성하는데 에러가 발생한 것이다. 제목과 같이 mockmaker subclassbytebuddymockmaker does not support the creation of static method 에러 메세지가 떴는데 이는 mockito 3.4 이상 버전에서 서로 충돌이 나는 dependency 가 있기 때문이라고 들었다. 해결 방법은 간단하다. maven 을 사용한다면 pom.xml 파일의 dependency에 gradle 을 사용한다면 build.gradle 파일의 dependencies에 각각 mock inline 을 추가해주면 된다. org.mo..

백앤드 2023.03.20

[Spring] @SuperBuilder 에러, Builder 를 찾지 못했습니다 에러

오늘은 또 기가 막힌 에러를 겪었다. Spring에서 extend를 받아 사용할 때, 상위의 Builder annotation을 이용하고 싶은데 갑자기 웬 builder 를 찾지 못했다는 에러가 떴었다. 이는 원래는 잘 빌드되던 소스였는데 갑자기 떠서 굉장히 당황스러운 에러였었다. 하지만 SuperBuilder 에 문제가 직접 있는 것은 아니라고 생각했고, @Repository 어노테이션을 단 DAO에 문제가 있다고 판단했다. DAO를 다시 자세히 보니 @Repository는 문제가 없었고, MyBatis와 연결되는 @Mapper에 문제가 있었다. import com.mapstruct.Mapper; import org.springframework.stereotype.Repository; import or..

백앤드 2023.03.13

SQL 한 컬럼에 있는 여러 값을 여러 컬럼으로 분리해서 합치기

오늘은 또 SQL 때문에 헤맸습니다. 제 상황은 이랬습니다. TABLE TEMP_TABLE NUMBER STATCODE NAME DATE USEYN 3002352 10 해운대 20120101 y 3002352 20 해운대 20120101 y 3002352 30 해운대 20120101 y 3003001 10 인천앞바다 20131111 y 3003001 20 인천앞바다 20131111 null 3003010 10 속초해수욕장 20221001 n 3003010 20 속초해수욕장 20221001 y 3003010 40 속초해수욕장 20221001 y 여기서처럼 number statCode 와 useYn 만 다르고 다른 필드들은 동일한 경우가 많았습니다. 위 상황을 number 와 date, name 으로 묶고,..

백앤드 2023.02.28

java.time.format.DateTimeParseException: Text could not be parsed at index 0

오늘은 짜-증나는 exception을 겪었다. 프론트에서 연도와 월을 픽한 후 백으로 날리는 과정인데, 'yyyyMM'의 String으로 날려주고 있었다. 나는 당연히 LocalDateTime과 DateTimeFormatter를 사용하여 String을 DateTime 형식으로 바꿔주려고 했으나 index0 오류 때문에 도저히 진행할 수가 없었다. 기존 실행했던 함수는 다음과 같다. String frontDate="201212"; LocalDateTime localDateTime; localDateTime = LocalDateTime.parse(frontDate, DateTimeFormatter.ofPattern("yyyyMM")); 당연히 에러가 났다. Unable to obtain LocalDateTi..

백앤드 2023.02.27