[SpringBoot] @ToString(callSuper = true)

2023. 4. 13. 15:26spring

[문제]

lombok 에서는 @ToString 이라는 편리한 기능을 제공한다.

직접 오버라이딩하지 않아도 알아서 ToString을 바로 사용할 수 있게끔 만들어준다.

 

BaseEntity 가 id, createDate, modifyDate 등 공통값을 가지게 하고 Entity는 이를 상속받게끔 구현했다.

하지만 Entity 에서는  createDate, modifyDate 값을 사용할 수가 없었다.

 createDate, modifyDate는 오버라이딩하지 않았기 때문이다.

 


[해결]

아주 간단했다.

자식 Entity에 @ToString(callSuper = true)를 적용하면 된다.

"callSuper = true" 는 부모가 가지고 있는 필드까지 적용시키는 것이다. Default값은 false 이기 때문에 부모의 필드 사용을 원한다면 true로 바꿔주자