[jdbc] mariadb 의 tinyint 사용시 주의점 By starseat 2022-02-24 14:20:01 java/spring Post Tags 최근에 발생한 일이 있어 같은 실수를 방지하고자 블로그를 작성하게 되었다. (글에 대한 정리는 나중에...) 사용하던 `RDBMS` 가 `Oracle` 이었는데 `MariaDB` 로 변경했었던 적이 있다. `status` 를 저장하는 값을 `Oracle` 로 사용했을 당시 `number` 로 type을 지정하였었는데 상태값이 5개라 `MariaDB` 로 변환하면서 깊게 생각 안하고 `tinyint` 로 적용해 버렸다. db 툴로 select 문을 실행하여도 값이 제대로 넘어오기에 대수롭지 않게 넘겼는데 최근데 이에 대한 이슈를 맞게 되었다. 하지만 api 로 결과를 받아보니 `status` 값이 `true` 로 나타나는 것이었다. ![image.png](/uploads/_temp/20220224/21f1fcec8175423a8194147f6e9a2cde.png) 여러 원인은 찾던 중 `tinyint` 가 문제일꺼란 생각을 하였고, data type 을 int 로 변경하였더니 정상적으로 **2** 를 잘 보내주었다. 왜 `tinyint` 로 지정할시 `bool` 로 나타나는지 확인하고 블로그 글을 다시 정리해야겠다. Previous Post [spring] custom validation annotation 만들기 Next Post 코딩 명명 규칙(코딩 스타일, 표기법)