메모장

[ null 업데이트 이슈 ] 본문

Spring/개념정리

[ null 업데이트 이슈 ]

Itchild 2024. 8. 7. 13:21
728x90
반응형

 

간략한 상황 설명

 

글을 작성하려고 할때 사진 파일을 넣지 않으면 디폴트 사진이 생기게 끔 작업하였다 !

글을 update 하려고 할때 사진을 같이 업데이트 하면 잘 변경되지만

글만 변경하고 사진을 변경하지 않으려고 할 때 기존 사진이 유지되어야 하는데

기본값 사진으로 바뀌는 모습을 발견할 수 있다 ...!

 


Spring 에서 자주볼 수 있는 이슈

null 이 업데이트에 들어가버렸다.

 

1) 별도의 이미지를 추가하지 않으면, 해당 name 파라미터에 NULL이 들어감

 

 

 

2) NULL 이 그대로 C-S-DAO-DB 까지 전달됨

 

controller -> 서비스레이어 -> DAO -> 데이터 베이스 까지 전달 된다 !!

 

3) NULL 업데이트가 되지않도록 @ 설정을 해볼 수 있다. !!!

 

혹시 NULL이니 ?

그럼 이전에 불렀던 내용으로 세팅해줄게 라는 어노테이션이 있다.

 

 

4) @SessionAttributes

 

★ 세션 역할 브라우저 종료 되기 전까지 유지

컨트롤러한테 붙이는 설정이다.

@Controller 밑에 붙이기

@SessionAttributes

 

이전에 불렀던 내용을 알려줘야한다. 이걸 같이 설정해줘야한다.

(같이 설정해줘야 하는 @ 이 존재 ) @ModelAttribute

뷰에 data로 왔었어 ! 커맨드 객체 안에서 vo 가 null 인 애가 있는데

@ModelAttribute("data")BoardVO bVO

 

이걸 세션이 또 알고 있어야 하니까

@SessionAttributes("data")

.

 

 

뷰의 이름을 알려주는 애는 @ModelAttribute 고

이걸 알아야 하는애는 @SessionAttributes

 


 ✔️ 주의사항

 

 

너무 많은 등록을 하면 즉, 등록할 데이터가 많아질 수록 요청이 무거워짐

 

  • 검색어 + main.do
  • @SessionAttributes + selectOne + update

이렇게 모듈화 하는쪽이 좋다.

 

 

ex) 검색 데이터도 저장이 가능한데 , 검색을 apple로 한번 했음

그 다음에 검색창에 검색을 안한다고 했을시 => 전체 데이터 보려고 안한 것

근데 @SessionAttributes 때문에 어? 검색어가 없네 ? apple로 해줄게 ~

null을 만들수 없다는 단점이 있다.

 

728x90
반응형