세 개의 엔티티 유형 (A, B 및 C)이 있습니다.NHibernate 3.x : 동일한 테이블, 세 개의 매핑, 각 결과 세 번
이들은 동일한 데이터베이스 테이블에 매핑됩니다.
B와 C의 상속 A.
나는 B와 C는 구성 파일에 매핑 된 남아마다 A, B와 C
에 의해 매핑 된 데이터베이스 테이블의 세 가지 기록이있어, I 각 엔티티를 세 번 가져옵니다.
B와 C에 대한 매핑을 제거하려고 시도한 다음 엔티티의 전체 개수가 3입니다.
마지막으로 SQL Server를 프로파일 링했으며 응용 프로그램에서 시작된 쿼리가 세 가지 SQL SELECT 명령으로 변환되었습니다.
어떻게 이것을 피할 수 있습니까? 또는 엔티티를 얻으려는 시도가 목표 테이블이 매핑 될 때까지 여러 번 끝내는 것을 의미하지 않고 N 클래스를 동일한 테이블에 매핑 할 수 있는지 알고 싶습니다.
미리 감사드립니다.
문제가 무엇인지 명확하지 않습니다. 몇 가지 코드, 매핑 및 반환되는 내용의 일부를 게시 할 수 있습니까? – Vadim
그러면 내 텍스트를 다시 확인하십시오. 3 엔티티가 매핑 한 1 개의 테이블. 나는 3 개의 기록을 가지고있다. 엔티티로 이러한 레코드를 검색하려고하면 9 개의 결과가 나타납니다 (각 엔티티는 복제됩니다). 고맙습니다. –
또 다른 세부 사항 : Query Over와 HQL 기준으로 동일한 작업을 시도했습니다. 같은 결과. –