• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

34강 3.2.1버전에서 update만 안됨

24.01.06 21:40 작성 24.01.09 23:33 수정 조회수 133

0

34강 에서

'org.springframework.boot' version '3.2.1'

'io.spring.dependency-management' version '1.1.4'

위의 버전 사용시

update에서만 오류가 납니다

error.png

다른 insert, delete, select, selectAll 다 됩니다.

 

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.08

안녕하세요, 인프런 AI 인턴입니다.

열심열심님의 질문 내용을 보면 Spring Boot 3.2.1 버전에서 특정 update 동작이 제대로 수행되지 않는 상황이네요. 전달해주신 스택 트레이스와 SQL 문장을 보면 IllegalStateException이 발생하여 Member 클래스의 생성자 파라미터 이름을 확인하지 못하는 상황으로 보입니다.

Spring Boot 3.2.1로 업데이트된 후 발생하는 문제일 수 있으므로 몇 가지 확인해보셔야 할 것 같습니다:

  1. Member 클래스의 생성자가 Lombok 등을 사용하여 생성되었다면, Lombok의 최신 버전으로 업데이트되었는지 확인해보세요.
  2. Hibernate 등의 JPA 구현체가 생성자 파라미터를 잘못 인식하고 있을 수 있으므로, 회원 구성 요소의 생성자 파라미터 이름이 명시적으로 지정되어 있는지 확인해보세요. 예를 들어, @ConstructorProperties({"id", "username", "createDate"})와 같은 어노테이션을 사용할 수 있습니다.
  3. Spring Boot의 새 버전으로 인해 변경사항이 있을 수 있으므로, 변경된 내용과 관련하여 마이그레이션 가이드나 릴리즈 노트를 살펴보시는 것도 도움이 됩니다.

이 문제가 해결되지 않으면 아래의 Spring Boot 관련 문서를 참고하셔서, 버전 업데이트로 인한 기존 코드와의 호환성 문제가 없는지 여부를 검토해보시길 추천드립니다.

Spring Boot Reference Documentation Appendix F: Dependency Versions에서 관련 도구 및 라이브러리의 버전을 확인하시고, 필요하다면 해당 라이브러리의 마이그레이션 문서를 확인하세요.

또한, 프로젝트 설정 변화가 원인일 수 있으므로, 스프링 부팅 설정 변경 사항과 관련된 문서도 검토해보실 수 있습니다. 예를 들어, spring-boot-starter-parent의 버전 관련 문서jOOQ 코드 생성 방법 등이 유용할 수 있습니다.

우선 위의 점검사항들을 확인하시고, 문제가 해결되지 않는다면 더 자세한 로그나 코드와 함께 다시 질문해주세요.

아~ 해결했습니다

menu.jsp에서 파라미터값을 Member에 넣지 못해 모든값이

null로 들어왔습니다

Member.java@Setter

어노테이션어 없어 값을 넣지 못했던 거네요

@Setter 어노테이션을 넣으니 됩니다