해결된 질문
작성
·
4.9K
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