프로젝트를 진행하는 도중 views나 softdelete에 필요한 is_deleted 등의 테이블에 초기값으로 0이 아닌 null이 세팅되고 있는 문제를 확인했다.

mysql에 기본값으로 '0'을 세팅하였지만 그럼에도 계속 null이 초기값으로 들어가고 있었다. (코드에서 따로 값을 입력하지 않아서 당연히 데이터베이스 기본값 세팅에 맞게 들어갈 것이라 생각하였다.)

이유를 몰라서 헤매다가 콘솔창을 봤는데 jpa에서 만들어지는 .save() 는 모든필드를 저장한다는 것이 생각났고 쿼리문을 보니

위 사진과 같이 모든 필드에 대해 값을 입력하며 entity에서 is_deleted와 views가 각각 Boolean과 Integer를 사용하기 때문에 jpa의 save메소드에서 해당 값들을 설정하지 않으면 null을 입력해 준다는 것을 알게 되었다.
해결 방법으로는 두가지를 찾았는데
나는 2번 방법을 사용하여 해결하였다.

