Let's say I have a base class called Pet and two subclasses Cat and Dog that inherit Pet.
I simply map these to three tables Pet, Cat and Dog, where the Pet table contains the base class properties and the Cat and Dog tables contain a foreign key to the Pet table and any additional properties specific to a cat or dog. A joined subclass strategy.
Now, using NHibernate and ICriteria, how can I get a list of all the different pets as Pet objects, not Cat or Dog objects - just plain Pet objects, without making any joins to the other tables? I am only interested in the information contained in Pet.
Hmm, selecting 'as pet' would I think bring back all object (not just the pets that are not subclassed). I don't know of a clean way of doing it, but then I'm not an NH expert.
Maybe you could query the discriminator column in the parent table directly? Although perhaps you would have to resport to a custom SQL query rather than HQL or ICriteria.