본문 바로가기
반응형

Spring28

JPA Entity + Lombok Builder 사용 시 컬렉션 필드 초기화 주의점 😵 문제 상황@Entity@Builder@NoArgsConstructor@AllArgsConstructorpublic class TripRecommendation { @OneToMany(mappedBy = "tripRecommendation", cascade = CascadeType.ALL, orphanRemoval = true) private List itinerary = new ArrayList(); ... public void addItinerary(Itinerary item) { itinerary.add(item); item.setTripRecommendation(this); }}JPA 엔티티에서 List 같은 컬렉션을 사용할 때 보통 이렇게 .. 2025. 11. 26.
[Spring/MyBatis] No constructor found in ~ matching 오류 문제 상황java.lang.Exception: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in egovframework.root.tossPayment.dto.OrderDto matching [java.lang.String, java.lang.String, java.lang.String, java.lang.Integer, java.lang.String, java.lang.String]MyBatis를 사용하여 selectPayment 쿼리를 실행할 때 다음과 같은 예외가 발생했습니다. OrderDto.java@Builder@AllArgsConstructor(access = AccessLevel.P.. 2025. 2. 10.
[tomcat] 톰캣 로그 한글 깨짐 한글 깨짐실행했더니 많은 로그가 있는데 한글이 깨지는 현상이 있습니다.     한글 인코딩 해결 tomcat이 설치된 디렉토리/conf/logging.preperties 파일을 수정하겠습니다  logging.propertiesjava.util.logging.ConsoleHandler.level = FINEjava.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatterjava.util.logging.ConsoleHandler.encoding = UTF-8해당 파일을 내려보면 해당 부분이 있는데 여기의 인코딩을 수정할겁니다 logging.propertiesjava.util.logging.ConsoleHandler.encoding = .. 2024. 7. 23.
[tomcat] error running tomcat can't find catalina.jar 오류 발생tomcat 9.0.91 버전을 다운로드 받아서 실행하다가 어느 순간 다시 실행할 때Error running 'tomcat 9.0.91' can't find catalina.jar  에러 메시지가 발생하면서 실행이 안돼는 오류가 발생했습니다.       오류 원인다운로드 받은 그대로 사용했었던 tomcat 9.0.91 디렉토리 이름을tomcat으로 변경해버려서 발생한 오류였습니다.     오류 해결톰캣 설정으로 가보면C:\tomcat 9.0.91\lib\jsp-api.jar, C:\tomcat 9.0.91\lib\servlet-api.jartomcat 9.0.91 이라는 디렉토리가 없어서 빨간불이 들어와있었습니다. 기존의 jar 파일들을 지우고,다시 디렉토리에 맞게 추가 후 실행하니 정상 작동합.. 2024. 7. 23.
[Spring Boot] JPA @Transactional과 변경 감지 Update @Transactional 적용 x 테이블의 모습입니다. 테이블의 PLAN_ID가 1인 행의 데이터를 update 하려고 합니다.  PlanController@ResponseBody@PatchMapping("")public Plan updatePlan(@RequestBody Plan plan) { return planService.update(plan.getPlanId(), plan.getPlanTitle(), plan.getBudget(), plan.getPlanStartDate(), plan.getPlanEndDate());}먼저 @PatchMapping을 사용해 업데이트 요청을 받을 Controller를 작성합니다.  PlanService@Service@RequiredArgsConstructo.. 2024. 7. 11.
[SpringBoot] DI 생성자 주입 생성자 주입 전 OrderServiceImpl.java public class OrderServiceImpl implements OrderService{ MemberRepository memberRepository = new MemoryMemberRepository();// DIP 위반! @Override public Order createOrder(Long memberId) { Member orderMember = memberRepository.findById(memberId); ... } } OrderServiceImpl이 MemberRepository(인터페이스) 뿐만 아니라 구현체인 MemoryMemberRepository에도 의존하고 있습니다. 만약 구현체를 MemoryMemberReposito.. 2023. 10. 26.
반응형