오답노트 및 하다 막힌 부분/Spring

char 타입의 변수를 String으로 바꾸었을 때.

Dr.Mlem 2024. 11. 14. 11:51

모델 클래스에서의 gender 선언을 char 타입으로 해놓았었음...
그래서, edit.html 에서 저장된 성별 값을 읽어와서 라디오버튼 체크를 해줘야 하는데, 그렇게 해주질 못함.

 

다만, 이 위의 사진에서, M과 F 값 자체는 잘 가져오고 있었음.

Thymeleaf에서 char타입에 대한 비교 연산을 지원하지 않을 뿐,

값 자체는 잘 읽어왔다는 말.

 

그 결과, 요런 에러가 나옴

저 위의 에러가 나온 이유는,

아무리 gender가 char 타입이였던 것을 String으로 수정하기 위해

관련된 내용을 Spring 프로젝트에서 수정했다 하더라도,

해당 내용이 저장된 MySQL 의 db세션 정보를 저장하는 spring_session에는,

모델 객체가 char 타입으로 되어있던 내용이 남아있기에,

해당 내용과 발생하는 충돌로 인하여서 로그인이 튕기는 것.

 

그러기에 spring_session 테이블의 내용을 비워야 한다.

 

spring_session_attributes의 내용은 고치지 않아도 되는 이유가,

해당 테이블은 spring_session의 내용과 연결이 되어있기에,

spring_session 테이블을 비우면, 더미데이터가 되어버리고,

그 더미 데이터도 시간이 지나면 자동으로 삭제가 되기 때문이다.