둘 이상의 데이터베이스에서 데이터를 가져 오는 도메인 엔터티가 많은 응용 프로그램을 유지 관리합니다. 이 방법이 일반적으로 작동하는 방식은 엔티티가 데이터베이스 A (대부분의 필드가 저장되어 있음)에서로드된다는 것입니다. 데이터베이스 B의 데이터에 해당하는 속성이 호출되면 엔터티는 SQL을 데이터베이스 B로 시작하여 모든 관련 데이터를 가져옵니다.여러 데이터베이스의 데이터가 포함 된 도메인 엔터티에 권장되는 패턴
나는 '롤 - 더 - 자신'의 ORM을 사용하고 있는데,보기 흉하지만 효과적이며 이해하기 쉽습니다. 최근에 데이터베이스 A에서 그린 엔티티에 대해 NHibernate를 사용하기 시작했으나, 데이터베이스 A와 B 모두에서 추출한 엔티티에 NHibernate를 어떻게 사용하는지 궁금합니다.
내가 생각할 수있는 최선의 방법은 다음과 같습니다. 다음과 같습니다. 나는 데이터베이스 A의 엔티티에 대해 Hibernate 기반의 클래스 라이브러리를 계속 사용한다. 데이터베이스 B의 데이터도 필요로하는 엔티티는 속성을 통해 액세스되는 단일 클래스에서 데이터베이스 B의 모든 데이터를 노출한다. 이 속성이 호출되면 적절한 저장소를 호출하고 개체가 반환됩니다. 따라서 데이터베이스 B에 액세스하기위한 클래스 라이브러리는 데이터베이스 A에 액세스하기 위해 클래스 라이브러리에서 참조해야합니다.
이 내용은 의미가 있으며이 상황에 대한 패턴이 상당히 일반적 일 수 있습니다.
감사
데이비드
나는 데이터베이스 스키마를 변경하고 하나의 데이터베이스를 만들 것이다. – Paco
내가 가진 사치가 아닙니다. 데이터베이스 중 하나는 외부에서 생성 된 매우 많이 사용되는 데스크톱 응용 프로그램 아래에 있습니다. – David