JPA
Entity는 왜 기본 생성자가 필요할까?
JPA를 공부하면서 Entity에는 기본생성자가 꼭 필요하다는 것을 알게되었다. 방법은 @NoArgsConstructor(access = AccessLevel.PROTECTED)와 같은 어노테이션을 활용하여 접근을 제한하고 자동으로 기본 생성자가 생성되도록 하면 된다. 생성자를 쓰는 이유는 setter의 무분별한 사용을 막아 entity의 일관성을 유지하기 위함인데 그렇다면 entity에는 적어도 하나 이상의 field들이 있을 것이고 이를 반영하려면 매게변수가 여러개인 생성자가 필요로 할 것인데, 굳이 왜 기본 생성자가 필요로 한 것 일까? 궁금해서 관련 자료를 찾아보았다. Java Reflection 구체적인 클래스 타입을 알지 못해도 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자..