So I'm doing the following: 
Code:
DetachedCriteria criteria = DetachedCriteria.forClass(Instrument.class);
Where Instrument.class is an interface which is implemented by a @MappedSuperclass abstract class which is itself extended by two @Entity classes. 
So now if I do a search against this criteria will it simply return all objects of type Instrument.class from all tables that are created by its subclasses? 
I guess that's what I see happening and am wondering if this is proper use of Hibernate or if I'm relying on "undefined" properties of Hibernate. 
Thanks.