Spring Boot

· Spring Boot
이유는 Reflection + Proxy 때문이다  왜 JPA Entity에는 기본 생성자(Public, Protected)가 필요할까?JPA는 Reflection이란 기술을 사용해 1. 런타임 시점에 Entity Class를 기본생성자로 new 하여 인스턴스를 생성 하고2. 빈 클래스의 필드에 값을 채워넣는다. = 기본 생성자가 필요한 이유 또한 JPA에서 지연로딩에 사용되는 Proxy 객체를 생성할때  Reflection이란 기술을 사용하는데Proxy 객체는 엔티티 객체를 상속 받기 때문에 기본 생성자가 private이면 생성이 되지 않는다. = 기본 생성자가 Public, Protected 이여야 하는 이유 Reflection은 뭔데? 그리고 필드가 Private인데 빈 클래스에 값을 어떻게 채워넣..
· Spring Boot
1) Entity에서 @NotBlank, @Size를 붙인경우 500 에러가 던져졌고 2) DTO에서 @NotBlank, @Size를 붙이고 컨트롤러에서 DTO 앞에 @Valid를 붙인 경우 400 에러가 던져졌다. 내 생각에 데이터가 DTO - Service단 - Entity로 들어갈텐데 DTO단에서 잘못된 데이터를 쳐내는게 Service단에서 시간낭비 하지 않고 더 효율적으로 API 400 응답을 내려줄수 있을것 같다.
· Spring Boot
요번 프로젝트를 하면서 BaseTimeEntity라는 클래스를 처음으로 만들어서시간을 찍는 기능을 따로 추상클래스로 나누어보았다. 이때 사용되는 새로운 어노테이션이1. @MappedSuperClass2. @EntityListeners(AuditingEntityListener.class),3. @EnableJpaAuditing였는데@MappedSuperClass 는 => 추상클래스는 여러 클래스에 상속이 될수 있으니까 테이블에 직접 매핑이 되지 않고 공통적인 매핑정보만 주는 녀석임을 알려주는 어노테이션으로 이해가 되었는데@EntityListeners(AuditingEntityListener.class), @EnableJpaAuditing는 약간 이해가 애매했다.그래서 들고 파보고자 한다. 예상 : 우선 A..