Replies: 4 comments 6 replies
-
저도 이부분에 대해서 예전에 생각해봤는데 이 방법도 나쁘지 않은 것 같습니다. |
Beta Was this translation helpful? Give feedback.
-
이 부분에 대해서는 저번 컨벤션 규칙 정할 때, 대화를 했던 부분으로 기억합니다 ㅎㅎ 저는 개인적으로 @notnul을 선호하지 않습니다. @NotNull을 쓰면 디비에서만 null을 잡는 것이 아니라 엔티티 필드 자체에 null이 안들어가도록 할 수 있는데요 단, 코드가 너무 더러워진다는 생각을 합니다 ㅠㅠ 또한 Blank에 대해서는 잡지 못합니다! 때문에, 저는 DTO에서 Bean Validation을 사용해 1차적으로 검증하고 로직 단에서는 생성자에 requireNonNull? 메서드를 사용해, null 체크를 해도 충분하다고 생각합니다! |
Beta Was this translation helpful? Give feedback.
-
넵 저도 @NotNull은 크게 선호하지 않는 것 같아요 ! 추가적으로, |
Beta Was this translation helpful? Give feedback.
-
저는 둘 다 상관없을 거 같습니다! [Validation 시점] Dto에서 사용하는 validation의 경우 Controller에 들어오기 전에 ArgumentResolver에서 객체를 파싱해줄 때 변환하는 것으로 알고있습니다. 그렇기 때문에 파라미터로 들어오게 될 때, 검증과 같이 되니까 Dto에 대해 값이 잘못됐을 거라는 생각을 제외할 수 있습니다. 하지만, Entity에서 사용하게 되면 객체에 대한 검증은 entityManager에 들어가면서 JPA가 어노테이션을 통해 검증을 해주다 보니 객체 생성을 했을 때의 데이터에 대한 신뢰성이 적다고 생각했습니다. 실제로 지난 개인 프로젝트 때 사용을 하면서 바로 entityManager가 관리하게 하는 것이 아니라면 추가적으로 검증을 해야 하나라고 생각했었습니다. |
Beta Was this translation helpful? Give feedback.
-
현재 Entity에서 DB에 null이 들어가지 않게 하고 엔티티 필드에도 null이 들어가지 않게 하기 위해, 다음과 같이
@Column(nullable = false)
으로 제약 조건을 걸고 생성자에서 null 체크를 추가로 하고 있습니다.이번엔 엔티티에서 Spring Bean Validation을 써서 검증하는 방식을 써보는 건 어떤지 논의해보고 싶습니다!
@Column(nullable=false)
를 제거해도,@NotNull
이 붙어있으면 DDL 생성 시 not null로 생성두 방법 모두 장단점이 있긴 합니다요..
이 글을 참고했습니다.
Beta Was this translation helpful? Give feedback.
All reactions