나는 모두 BaseEntity에서 상속받는 5 가지 클래스가 있습니다. 이 5 개의 클래스 중 하나에 필요한 정보와 다른 식별자를 저장하는 새로운 모델 클래스를 만들고 싶습니다.유형에 따라 객체 반환
데이터베이스에서이 새 모델의 데이터를 검색 할 때 데이터베이스에서 참조 할 수있는 항목을 나타내는 정수와 함께 클래스 유형의 문자열을 얻습니다.
예를 들어 Id = 2를 검색하면 Type = "BaseBall"입니다. 즉, BaseBallService를 사용하여 Id == 2 인 항목을 가져올 필요가 있음을 의미합니다. Id = 2, Type = "BasketBall"일 경우 BasketBallService를 사용합니다.
현재 생각할 수있는 유일한 해결책은 '유형'문자열을 평가하는 if 문을 여러 개 가지는 것입니다. 유형이 유효한 유형 (BaseBall, FootBall, BasketBall 등)과 일치하는지 여부에 따라 해당 오브젝트가 리턴됩니다.
모델 정의에서 5 가지 유형을 모두 정의 할 필요없이이 작업을 쉽게 식별 할 수있는 방법이 있습니까?
이 문제를 명확하게 파악했으면 좋겠습니다. 추가 정보가 필요한지 알려주십시오. 아직 어떤 코드도 작성하지 않았습니다. 나는 단지 문제를 분석하고 해결책을 제시하려고하고있다.
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –
뭔가 잘못 설계된 것 같습니다. 왜이 "유형"정보가 필요합니까? 데이터베이스에서 무언가를 얻으면 무엇을 얻고 싶고 어떤 유형인지 알고 있어야합니다. –
@WojciechKulik, 형식 및 ID를 포함하는 테이블은 참조 테이블입니다. 목표는 기존 유형 중 하나 (BasketBall, BaseBall 등)로 인해 생성되는 새로운 양식을 만드는 것입니다. 이 형식은이 유형 중 하나에서 발생할 수 있으므로 어떤 형식인지 알아야합니다. – Alex