어제 쪽지 기능을 프론트-백과 연결하면서 DB에 저장돼있는 쪽지 생성시간을 가져올 수 없는 문제와 마주쳤다.
이유는 createDate가 @MappedSuperclass로 클래스를 위임받아 사용하기 때문이였는데, 이는 엔티티가 아니고 테이블과 매핑되지 않고 단순히 엔티티가 공통으로 사용하는 매핑정보(주로 생성, 수정시간같은)를 모으는 역할이기 때문이다.
DB에 저장은 되지만 데이터를 조회, 이용할 수는 없더라.

↳@MappedSuperclass 어노테이션을 붙여서 만들었던 클래스
나는 생성시간을 클라이언트로 보내줘야하기때문에 이 방법은 적합하지 않았다.
그래서 방법을 찾았다.
- 출처 : https://dev-coco.tistory.com/132
1) 생성시간이 필요한 Entity에 column을 추가해주고@Column(nullable = false) private LocalDateTime createDate;2) 생성시에 LocalDateTime을 보내줄 수 있도록 Dto에 추가
3) 위의 createDate를 보내주는 Dto에도 변수를 추가
4) service에도 생성시간이 보여져야하는 곳(쪽지 리스트)에 클라이언트로 정보를 보내준다.
5) 결과 성공
↳ h2 콘솔
↳ 프론트에서 생성시간 포맷을 바꿔줬음
문제가 생긴 덕분에 MappedSuperClass가 뭔지, Embedded Type이 언제 쓰이는지 까지 알게됐다.
밑에 주소를 통해 도움을 받았는데, MappedSuperClass에 대해 찾아보다 보면 거의 많은 블로거들이 김영한님 강의를 정리해놓으신 것 같다.