GROUP BY와 FETCH JOIN을 같이 쓰면 안되는 이유
2025. 8. 21. 13:45
Error
queryDSL 로 쿼리를 짜다보면 다음과 같은 에러를 마주할 때가 많다 Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) group by와 fetch join을 쓰면 이런 에러가 생기곤 하는데 원인과 이 둘을 같이 쓰면 안되는 이유와 해결법을 알아보자 fetch join의 동작 원리 먼저 fetch join은 n+1을 방지하기 위해 많이 쓰며, 쿼리 내에서 연관된 엔티티..

[ERROR]Git에서 폰트파일 깨지는 문제
2024. 5. 23. 14:54
Error
🔎문제상황폰트 파일을 깃에만 올리면 깨지는 문제가 발생했다. 🔎원인폰트 파일이나 바이너리 파일은 본질적으로 텍스트 파일이 아니기 때문에,Git이 이 파일들을 텍스트 파일로 처리하려고 할 경우 파일이 깨질 수 있다. 🔎해결법 gitattributes에 다음 설정 추가 * text eol=lf .gitattributes 파일에서 특정 파일 타입에 대해 binary 속성을 지정하거나,모든 파일에 대해 -text 속성을 지정하여 Git이 라인 엔딩을 변경하지 않도록 할 수 있다. text 속성 -> Git이 해당 파일을 텍스트 파일로 인식하도록 지정텍스트 파일로 인식된 파일은 Git이 라인 엔딩을 자동으로 변환할 수 있게 됨. eol=lf -> 라인 엔딩을 강제로 LF(Line Feed)로 설정하..

[ERROR]@Authentication 사용 시 principal is null
2024. 3. 26. 01:43
Error
회원가입 후 유저의 닉네임과, MBTI를 추가로 입력해주는 로직을 만들면서 Access Token으로 유저의 정보를 가져올 필요가 있었기 때문에 Access Token을 헤더에 넣어준 후 다음과 같이 @Authentication으로 유저의 정보를 가져오려고 했었다. @Operation(summary = "엑세스 토큰을 이용해 유저 정보를 업데이트합니다.") @PatchMapping public ResponseEntity signup(@Valid @RequestBody UserUpdateDto updateDto, @AuthenticationPrincipal UserPrincipal principal) { return ResponseEntity.ok(userService.updateUser(updateDto..

[ERROR]LazyInitializationException: could not initialize proxy
2023. 9. 3. 16:53
Error
게시글 상세조회 기능을 만들던 중 다음과 같은 에러를 마주했다 ERROR 11064 --- [nio-8080-exec-6] k.....FilterErrorUtils : Request processing failed; nested exception is org.hibernate.LazyInitializationException: could not initialize proxy [파일위치...User#1] - no Session org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.LazyInitializationException: could not initi..

[BigDecimal] java 소숫점 계산 정확하게 하기
2023. 1. 19. 14:04
Error
😮문제상황 public void calculateFuelTank(List checklists,Yata yata){ int positiveCount = (int) checklists.stream().filter(Checklist::isCheckpn).count(); int negativeCount = checklists.size() - positiveCount; if(positiveCount>negativeCount) yata.getMember().setFuelTank(yata.getMember().getFuelTank() + 0.1); else yata.getMember().setFuelTank(yata.getMember().getFuelTank() - 0.1); } } 프로젝트로 카풀 서비스를 만들던 ..

[IllegalArgumentException] urlTemplate not found
2023. 1. 17. 00:49
Error
@Test @WithMockUser(username = "test@gmail.com", roles = "USER") @DisplayName("야타 게시글 업데이트") void updateYata() throws Exception { //given long yataId = 1L; YataDto.Patch patch = createYataPatchDto(); String json = gson.toJson(patch); //json으로 보낼 patch요청 Yata expected = YataFactory.createYata(); YataDto.Response response = createYataResponseDto(expected); given(mapper.yataPatchToYata(any())).will..

@MapStruct 이 제대로 작동하지 않는 오류
2022. 12. 11. 00:25
Error
❗오류 ToDoApp을 만들어보던 중 Mapper 인터페이스에 MapStruct를 적용하여 mapperImpl을 구현하려고 하니 다음과 같은 오류가 발생하며, 빈 DTO와 Entity를 반환하였다. reason: actual and formal argument lists differ in length 이와 비슷한 오류는 전에도 발생하였으며 Getter와 Setter애너테이션을 삭제하고 직접 코드로 작성하여 해결한 적이 있었다. 이번에는 좀 더 근본적인 원인을 찾아 해결해 보고 싶어 구글링을 해보았다. ❗원인 Mapstruct는 우선 순위가 높은 순으로 구현함 MapStruct에서 @AllArgsConstructor, @Setter를 사용하는데 있어 Lombok이 정상적으로 작동하지 않고 있다고 추측 bu..

E2C 인스턴스 연결 후 bash shell에서 git clone 시 실패하는 오류
2022. 12. 2. 14:58
Error
https://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/troubleshooting-ssh.html 와의 SSH 연결 문제 해결AWS CodeCommit - AWS CodeCommit SSH 키 ID를 두 개 이상 업로드한 경우, 키가 업로드 날짜가 아니라 키 ID를 기준으로 영문자순으로 나열됩니다. 올바른 업로드 날짜와 연결된 키 ID를 복사했는지 확인하십시오. docs.aws.amazon.com E2C 인스턴스 연결 후 bash shell에서 git clone 시 실패하는 오류가 남 시작 전 먼저 bash shell 환경에서 실행해 줄 것이다. 바로 진행시 기본 위치도 안뜨고 평소 쓰는 명령어들이 안먹히는 경우도 있다. ->우리가 평소 쓰는 쉘이..

wls에서 gui로 바로열기
2022. 11. 18. 21:02
Error
explorer.exe . 치면 요로코롬~ 그리고 윈도우 루트디렉토리의 위치는 그니까 wsl에서 /home/lg의 위치는 \\wsl$\Ubuntu\home\lg 이다 자 그르면 윈도우로 들어가는 폴더는 어디에 있을까?!?!?! 바로 루트 디렉토리에서 ls 해보면 mnt라는 폴더가 보일 것이다. 요 mnt폴더가 윈도우로 들어가는 폴더이구 mnt에서 ls를 입력하면 c,d 등이 써있는데 요 c가 c드라이브 d드라이브를 뜻한다! /mnt/c/Users/ 요기 위치와 헷갈리지 않게 주의! 요기는 파일 탐색기로 보면 요위치임! 이것때메 한~~~참을 헤맷다(환~장)