2013-10-18 2 views
0

특정 테이블 (또는 클래스)이 다른 테이블 (또는 클래스)과 일대일 관계뿐만 아니라 일대일 관계를 여러 개 가질 수 있습니까?특정 테이블 (또는 클래스)이 다른 테이블 (또는 클래스)과 일대일 관계뿐만 아니라 일대일 관계를 여러 개 가질 수 있습니까?

예 - 지금은 은행 업무 응용 프로그램을 개발 중이고 UserID로 기본 키가있는 UserDetails 테이블이 있습니다. 이제이 userId를 트랜잭션, BalanceInfo, AccountDetails 등과 같은 다양한 테이블에서 외래 키로 사용하고 있습니다. UserDetails는 일대일 및 다 대일 관계로 연결할 수 있습니다. 이것이 올바른 구현 방법입니까? 또한 어떤 종류의 관계와 연관시키지 않고 나중에 외래 키 제약 조건과 연관시키지 않으면 어떻게됩니까?

답변

0

짧은 답변, 예, 만들 수있는만큼의 관계를 가질 수 있습니다.

올바른 방법인지 여부는 시스템이 작동해야하는 조건에 따라 다릅니다. UserDetails가 도메인의 다른 객체 각각에서 중요한 부분이고 UserDetails가 작동하려면 UserDetails가 필요합니다. 그렇다면 확실히 좋습니다.

DB에 PK 및 FK 제약 조건을 유지하고 Hibernate에서 해당 제약 조건을 인식하지 못하게하면 적절한 코딩없이 위반할 수 있습니다. 게으르게로드하면 관계가 있지만 응용 프로그램에 데이터를로드 할 필요가 없습니다.

정확한지 여부는 도메인 모델을 적절하게 분석 한 후에 만 ​​올 수 있으므로 사용자가 결정해야 할 사항입니다.