bạn đang truy vấn như thế nào? Nếu bạn đang sử dụng HQL bạn cần phải nhập không gian tên của giao diện với một tập tin HBM với dòng này:
<import class="name.space.ICustomer, Customers" />
Nếu bạn đang sử dụng Tiêu chuẩn bạn chỉ có thể truy vấn cho ICustomer và nó sẽ trả lại cả hai khách hàng loại.
Nếu bạn đang lập bản đồ một lớp học có một khách hàng vào nó hoặc thông qua một HasMany, HasManyToMany hoặc tài liệu tham khảo thì bạn cần phải sử dụng mẫu chung:
References<NiceCustomer>(f=>f.Customer)
Nếu bạn muốn nó để đối phó với một trong hai, bạn sẽ cần phải làm cho họ lớp con
Subclassmap<NiceCustomer>
trong trường hợp này, tôi nghĩ rằng bạn sẽ cần các lớp cơ sở khách hàng và sử dụng cho tham số kiểu chung chung trong các lớp bên ngoài:
References<Customer>(f=>f.Customer)
Bất kể, bạn không nên thay đổi mô hình miền của mình để đối phó với điều này, nó vẫn phải có một ICustomer ở lớp bên ngoài.
Tôi không chắc liệu 1.0RTM có biểu mẫu Chung làm việc cho Tài liệu tham khảo hay không nhưng việc quét nhanh các thay đổi sẽ hiển thị thay đổi, mà tôi nghĩ là bổ sung hai dòng.
Tôi không nghĩ rằng bạn cần ánh xạ bất kỳ giao diện nào như vậy .. bạn có thể vui lòng đăng các tệp ánh xạ của mình không? Cảm ơn –
Cảm ơn bạn đã trả lời Mahesh. Nhưng như Kevin đã nói chúng tôi không thể ánh xạ một giao diện trong nhibernate. Tôi đã thay đổi giao diện thành một lớp cơ sở. – Josh