보고 배운 곳 : https://sun-22.tistory.com/53
이 둘은 다른 동작을 하는 메서드이다.
학습하게 된 이유는 중복 저장 방지를 위해서다.
학습 후 느낀 점을 먼저 얘기해본다면,
이러한 방식은 아주 가벼운, 중요하지 않은 데이터를 다룰 때 적용 해보면 좋을 것 같다는 생각이 들었다.
우선 테스트를 위해 Entity에 설정해둔 unique 옵션을 해제해줌
테스트를 위한 중복 데이터 발생 확인
발생 방법 : 데이터 valid 검사 완료 후 저장되는 과정에서 엔터 키와 스페이스 키를 연타하여 순식간에 저장 버튼이 여러번 눌리게 함
js의 setInterval() 을 이용하여 자동으로 여러번 저장되게 할 수도 있겠지만,
개인적으로 스트레스 풀이를 위해 연타를 시도하는 방향으로 진행
세션을 사용할 컨트롤러에 어노테이션을 달아준다.
이때,
어노테이션의 인자로는
메서드 호출 시 view에 전달 할 model.addAttribute()
의 키 이름을 입력해주면 된다.
이렇게 해주면 세션에서 item 값을 읽어와 model.addAttribute() 에 넣어준다
오 그런데 확실히 세션을 사용하기 전보다는 중복 저장되는 갯수가 적어졌지만
말 그대로 적어졌을 뿐,
아주 빠르게 연타하면 여전히 중복 저장이 발생한다.
다른 방법을 찾아봐야겠다.
확실히 어노테이션을 사용하기 전 보다는 저장되는 갯수가 적어짐.
하지만 여전히 중복 저장 이슈 발생