강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

androboy님의 프로필 이미지
androboy

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 클래스 개발2

Serializable 관련 문의입니다!

작성

·

184

6

다른 분들의 소스를 보다보면 Entity 클래스에 Serializable 을 구현한걸 볼 수 있습니다. 왜 Serializable 를 구현하는지 강의에선 Serializable 을 사용하지 않은 이유가 있으신지 궁금합니다.

답변 1

6

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요 androboy님^^

우선 Serializable은 자바에서 객체를 바이트코드로 직열화 할 때 사용합니다. 이렇게 바이트코드로 직열화 하면, 객체를 네트워크에 전송하거나 파일에 저장할 수 있습니다. 그리고 필요하면 복원할 수도 있지요.

JPA 표준 스펙은 모든 엔티티에 Serializable을 구현해야 합니다. JPA를 구현하는 구현 라이브러리들이 객체 직열화를 사용할 수 도 있어서 이런 표준을 만들어두었습니다. 그런데 하이버에네이트 구현체는 Serializable을 구현하지 않아도 실무에서 필요한 거의 모든 기능이 잘 동작합니다.

표준을 따지면 구현하는게 맞지만, 하이버네이트 구현체를 사용하면 특별한 문제가 없어서, 실용적인 관점에서 생략했다고 봐주시면 됩니다^^

감사합니다.

androboy님의 프로필 이미지
androboy

작성한 질문수

질문하기