• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

MyRepository 작성 관련 질문 드립니다.

19.07.16 00:03 작성 조회수 93

0

MyRepository 인터페이스를 만들때, Serializable을 상속받아 구현하는데, 어떤 이유로 해당 class를 상속 받는지 궁금합니다.

늘 강의 잘 듣고 있습니다.

답변 1

답변을 작성해보세요.

2

정확히는 MyRepository가 사용하는 제네릭 타입 중에 주키인 ID를 나타낼 타입이 Serializable의 하위 타입이어야 한다고 선언한 것입니다. MyRepository가 Seiralizable을 상속 받아 구현한게 아닙니다.

굳이 ID extends Serializable을 하지 않고 그냥 ID라고만 해도 코드가 동작하는데 대부분의 경우에 별 문제는 없을 겁니다. JPA 스팩에서 주키 타입을 맵핑하는 자바 타입은 반드시 Serializale 타입이어야 하기 때문에 그 제약에 따라 ID 타입을 그렇게 정의한 것입니다.

다시, 보통 우리가 사용하는 Integer나 Long, String 대부분이 Serializable 인터페이스를 마커로 가지고 있기 때문에 대부분의 경우엔 명시 하지 않아도 별 문제 없지만 그래도 스팩에 따라 명확히 명시하기 위한 것 뿐입니다.