• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

notnull을 붙여야하는 이유

22.10.24 16:15 작성 조회수 250

0

int와 같은 원시타입에 null을 입력할 수 없잖아요

그래서 nullable = false를 추가하는게 안전하대요

근데 전 왜 그게 안전한건지 모르겠어요

만약에 에러가 터졌을때 저는 에러내용을 보고 null을 넣어서 에러가 난것을 파악할 수 있을거예요

근데 그게 nullable=false인데 null을 넣어서 에러가 난것인지, int와 같은 원시타입에 null을 넣어서 에러가 난것인지에 따라 차이가 있을까요? 에러출력내용은 비슷하게 뜰텐데요..ㅜㅜ

답변 1

답변을 작성해보세요.

1

y2gcoder님의 프로필

y2gcoder

2022.10.24

안녕하세요. 김민지님, 공식 서포터즈 y2gcoder입니다.

@Column 애노테이션은 특성 상 데이터베이스 테이블의 해당 컬럼에 대한 정보에 대한 표시를 해주는 측면도 있습니다. 데이터베이스 테이블의 조건이 not null이기 때문에 우리 애플리케이션에서도 해당 컬럼의 not null 조건을 표시해주는 게 좋습니다. 이것은 명확하다는 측면에서 이점이 있습니다.

예를 들어 엔티티에는 int로 되어 있었고, int에는 null이 들어갈 수 없으니까 nullable 조건을 빼주었다고 가정하겠습니다. 추후에 다른 사람이 요구사항 등으로 해당 엔티티를 수정할 일이 생겼습니다. 그때 int 타입으로 되어있는 column에서 타입을 편의를 위해 Integer로 바꾸었다고 가정하면, 말씀하신 nullable 조건을 명시해주지 않았던 것이 원인으로 장애가 발생할 수도 있습니다. 바꾸는 사람은 해당 컬럼이 nullable하다고 생각하고 코드를 변경할 것이기 때문입니다.

혼자 하는 게 아닌, 다른 사람과 일하는 경우가 많은 개발자로서 명확한 코드를 짜는 게 중요하다고 생각합니다.


감사합니다.