I am building a query on a generic table "Sample" and I have several types which inherit from this table "SampleOne", "SampleTwo". I require a query like :
select s from Sample where s.type = :type
where type would be a discriminator value of the table. Is it possible in any way ( and avoid to create an entity specific queries, one for each SampleOne, SampleTwo... etc )
I would greatly appreciate any input in this topic,
Kind regards, P.
In JPA 2.0 you can use TYPE
expression (though currently it doesn't work with parameters in Hibernate, see HHH-5282):
select s from Sample s where TYPE(s) = :type
The similar Hibernate-specific expression is .class
:
select s from Sample s where s.class = :type