자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록
byte 형태로 데이터 변환하는 기술
아래 조건에 맞춰 클래스에 implement Serializable
를 한다.
private static final long serialVersionUID = 1L;
사실 이 포스팅을 쓴 이유이다.
JPA 표준스펙은 Entity에서의 Serializable 사용을 지향하지만, 우아한&김영한님의 생각은 다르다. 이유는 아래와 같다.
Q(질문자):
가끔 블로그를 보면 entity에 Serializable을 붙이는 경우가 있는데 이것에 대한 설명 부탁드립니다.
Serializable은 객체를 외부 서버로 보낼 때 객체로는 보낼 수 없어서 스트림으로 만들기 위해 사용하는 것으로 알고 있는데, 보통 dto로 매핑을 받으니 entity가 다른 곳으로 이동할 일이 없다고 보거든요.
오히려 외부 서버에 보내기 위해서는 dto를 serializable로 만드는게 맞지 않을까요?
A(김영한):
결론부터 말씀드리면 Q님이 생각하신게 맞습니다.
JPA 표준 스펙은 Entity에 Serializable를 구현하도록 되어 있습니다. JPA 구현체에 따라 엔티티를 분산 환경에서 사용할 수 있거나, 직열화해서 다른 곳에 전송할 수 있는 가능성을 열어준거지요.
하지만 저희가 주로 사용하는 하이버네이트 구현체는 제가 아는 바로 다음 사례를 제외하고는 Entity를 직열화해서 내부에서 사용하는 경우는 못봤습니다. https://www.inflearn.com/questions/16570
그래서 저는 실용적인 관점에서 실무에서 엔티티에 Serializable를 거의 사용하지 않습니다. (하지만 표준 스펙이니 적용해두는게 더 나은 선택입니다.)
https://www.inflearn.com/questions/17117
https://techblog.woowahan.com/2550/
Carlo Ancelotti as Real Madrid coach admitted that it was not easy for him to immediately adjust with the new players. However, he believes that the Los Merengues squad can immediately find the ideal performance even in a short time.
https://ru.nobartv.co.id/indeks-topik , https://es.nobartv.co.id/indeks-topik , https://th.nobartv.co.id/indeks-topik , https://fr.nobartv.co.id/indeks-topik
"It's the start of the season and the players haven't had much time to prepare for the game. However, we face it with confidence and belief," said Don Carlo, as quoted from the club's website .
https://www.nobartv.co.id/indeks-topik , https://en.nobartv.co.id/indeks-topik , https://ko.nobartv.co.id/indeks-topik , https://ja.nobartv.co.id/indeks-topik , https://ar.nobartv.co.id/indeks-topik , https://hi.nobartv.co.id/indeks-topik
Real Madrid just underwent their first pre-season 2024/2025 trial, in early August 2024. El Real has devoured a total of 3 trial matches. Two warm-up matches ended in defeat, namely when they met AC Milan and Barcelona. While the last match ended with a victory over Chelsea.