NHibernate에 비교적 익숙하지만, 지난 몇 개의 프로그램에서이 프로그램을 사용하고있어. 필자는 4-5 개 데이터베이스의 데이터를 단일 데이터베이스로 집계해야하는 상황에 왔습니다. 특히 일련 번호 데이터입니다. 각 데이터베이스는 자체 매핑 파일을 갖지만 궁극적으로 엔티티는 모두 동일한 기본 구조 (직렬 클래스)를 공유합니다.NHibernate : 하나의 기본 클래스, 여러 매핑
나는 NHibernate가 클래스마다 매핑을 원한다는 것을 이해한다. 그래서 나의 초기 생각은 기본 직렬 클래스를 가지며 각각 다른 데이터베이스에 대해 상속 받고 고유 한 매핑 파일을 생성한다. 상속 된 클래스는 0 개의 내용을 가질 것이다. 이것은 모든 데이터를 포착하고 객체를 채우기에 적합합니다. 그런 다음 기본 클래스 매핑을 사용하여 기본 클래스 테이블에 상속 된 클래스 (적절한 용어가 무엇인지 확실하지 않음)를 저장합니다.
문제는 NHIbernate가 개체에 대해 특정 매핑 파일을 사용하도록하는 방법을 모르는 것입니다. 'session.save()'를 사용할 때 상속 된 클래스를 기본 클래스로 캐스팅하는 작업은 아무 것도하지 않습니다 (매핑이 없다는 오류 메시지가 표시됨).
사용할 매핑을 명시 적으로 지정하는 방법이 있습니까? 아니면 기본 클래스에 상속 된 클래스를 더 구체적으로 캐스팅하기 위해 누락 된 일부 OOP 보안 주체가 있습니까? 아니면이 아이디어는 나쁜 것입니다.
NHibernate (8 장)와 관련하여 찾을 수있는 모든 상속 내용은이 함수에 완전히 적용되지 않는 것처럼 보이지만 잘못 될 수 있습니다 (concrete-table-per-concrete 클래스는 유용 할 수 있지만, 하지만 NHibernate가 어떻게해야 할지를 결정하는 것과 관련하여 전적으로 내 머리를 감쌀 수는 없습니다.)
Yah, 나는 동의한다. 나는 은색 총알을 원했지만 당신이 언급 한 것은 완벽하게 작동합니다. – anonymous