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

kim님의 프로필 이미지
kim

작성한 질문수

실전! 스프링 데이터 JPA

스프링 데이터 JPA와 DB 설정, 동작확인

Serializable 질문 드립니다

해결된 질문

작성

·

5K

12

강의를 역시나 재미나게 보고 있습니다 ㅎㅎ

가끔 블로그를 보면 entity에 Serializable을 붙이는 경우가 있는데 이것에 대한 설명 부탁드립니다.

제가 아는 한에서 Serializable은 객체를 다른 서버로(ip가 다른) 보낼 때 객체로는 보낼 수 없어서 스트림으로 만들기 위해 Serializable을 사용하는 것으로 이해하고 있는데. 보통 dto로 매핍을 받으니 entity 객체가 다른 곳으로 이동할 일이 옶다고 보거든요. 오히려 서로 다른 ip로 되어 있는 서버에  보내기 위해서는 dto객체를 serializable로 만드는게 맞지않을까 생각합니다

답변 3

12

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

안녕하세요 kim님^^

새로운 강의에서 만나뵈니 더 반갑네요 ㅎㅎ

결론부터 말씀드리면 kim님이 생각하신게 맞습니다. 그런데 JPA 표준 스펙은 Entity에 Serializable를 구현하도록 되어 있습니다. JPA 구현체에 따라 엔티티를 분산 환경에서 사용할 수 있거나, 직열화해서 다른 곳에 전송할 수 있는 가능성을 열어준거지요.

하지만 저희가 주로 사용하는 하이버네이트 구현체는 제가 아는 바로 다음 사례를 제외하고는 Entity를 직열화해서 내부에서 사용하는 경우는 못봤습니다.

https://www.inflearn.com/questions/16570

그래서 저는 실용적인 관점에서 실무에서 엔티티에 Serializable를 거의 사용하지 않습니다.

(하지만 표준 스펙이니 적용해두는게 더 나은 선택입니다.)

감사합니다^^

1

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

저도 도움을 드려서 기쁘네요^^ 역시 개발 이야기 하는게 가장 즐겁습니다 ㅋㅋ

0

kim님의 프로필 이미지
kim
질문자

답변 감사드립니다. 강의로 얻는 지식의 기쁨도 있지만 이렇게 궁금증도 매번 해결해 주셔서 감사합니다

kim님의 프로필 이미지
kim

작성한 질문수

질문하기