작성
·
313
1
Book.name
에 @Column(nullable = false)
을 붙였으니 UserLoanHistory.bookName
도 논리적으로 null이 될 수 없는데요. 그래서 bookName
에는 애노테이션을 붙이지 않으신 건가요? 애노테이션을 붙여서 DDL에 물리적으로 not null을 설정해야 하는 게 아닌가 싶어 질문 드립니다.
답변 1
0
안녕하세요! silvermanseoul님!! 크으~~ 날카로우십니다 😊 ㅎㅎㅎㅎ
Java 코드를 기준으로 설명 드려 보자면, 말씀해주신것처럼 엄밀히는 @Column(nullable = flase)
를 붙여야 null이 될 수 없음이 맞습니다!!! 다만, 추측해주셨다 시피 현재 구현되어 있는 (Java 기준) Service 로직상 null이 들어갈 수는 없어, 강의에서 'null이 들어갈 수는 없다'고 표현하였습니다!!!
추가로, 아시다시피 Kotlin에서는 val bookName: String 이라고만 작성하더라도 자동생성된 DDL에서 not null 제약조건이 붙어 있게 됩니다!!
혹시나 보시다가 궁금한 점 또 생기시면 언제든 편하게 질문 남겨주세요~! 감사합니다!!! 🙏