Resitory Delete 메소드 이해
문제 상황
여기에 리스트와 삭제 버튼이 있다.
삭제 버튼을 누르면
Http에 DELETE 메소드와 위 리스트를 보낸다.
아니나다를까 아무 반응이 없었다.
DELETE를 수행하는 컨트롤러 로직이다.
어디서 삐끗했는지 보기 위해
매개변수에 변화가 있을 때마다 콘솔에 출력하도록 했다.
삭제 메소드를 거친 후에도 리스트에 변화가 없다.
내가 구현한 메소드에 문제가 있나?
문제는 Repository의 기본 메서드인
delete의 작동 방식에 있었다.
delete 메서드가 데이터베이스에서 매개변수로 들어온 데이터를 삭제할 때
“이 데이터가 이 데이터가 맞나?”를 판단하는 기준이
자바 빈으로 설정해둔 Id였던 것이다!
내가 생뚱맞게 entity의 id를 null로 설정해둔 탓이었으므로,
controller 로직에서 setId(null)을 지우면 해결되었다.