본문 바로가기

TIL(Today I Learned)

TIL-230711(Column '컬럼 이름' cannot be null 오류)

📝오늘 공부한 것

  • 회원가입, 로그인, 댓글 작성/조회/수정/삭제 기능이 추가된 블로그 백엔드 서버 만들기

 

⛔문제점

회원가입, 로그인 기능이 있는 블로그 서버에 댓글 기능을 추가하는 중

security를 적용하면서 원래 있던 로직들을 갈아엎었다. 그러다보니 계속 여기저기서 에러가 나고 잘 되던 로직들도 갑자기 안되고...ㅜㅜ

일단 fostman에서 회원가입, 로그인까지는 잘되는거 확인을 했는데

글을 작성할 때 나온 에러

 

시도해 본 것들💦 & 💯해결

Column 'user_id' cannot be null

를 보고 'user_id' 내가 entity끼리 연관관계 설정할 때 지어준 이름이라

entity의 연결이 뭐가 잘못 되었구나,,라고 생각하고

Blog entity에 들어갔더니 역시나 생성자의 파라미터에 예전 코드가 들어가있었다.

수정을 하고 그에 따른 로직들을 수정하고 실행을 했더니

똑같은 에러가 났다!!

 

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id", nullable = false)
    private User user;

nullable = false가 문제였나, 해서 이 부분을 지우고 실행했는데

 user_id가 null이 나오고 해결은 되지 않았다ㅠㅠ

 

insert는 된건가...?

하고 봤더니 

this.user = user를 빼먹은 것이었다!!!!!!!!!!

 

 

에러가 나면 구글링도 하고, 이것저것 해보고 있긴 하는데

동료분께서 에러메시지 읽는 법도 알려주셨다

에러들을 해결하는 재미가 쏠쏠하긴 한데....

근데 겪었던 에러들을 자꾸만 겪어서 문제다ㅠㅠ

 

알게 된 점

에러 메시지가 나오면 위에서 부터 차근차근 읽고 해결하기!!

읽고도 모른다며 구글링~!