我正在一个泛型表“样本”上构建一个查询,我有几个类型继承自此表“SampleOne”,“SampleTwo”.
我需要一个查询,如:
我需要一个查询,如:
select s from Sample where s.type = :type
其中type将是表的标识符值.是否可能以任何方式(并避免创建一个实体特定的查询,一个针对每个SampleOne,SampleTwo …等)
我非常感谢在这个话题中的任何意见,
亲切的问候,
P.
解决方法
在JPA 2.0中,您可以使用TYPE表达式(尽管目前它不适用于Hibernate中的参数,参见
HHH-5282):
select s from Sample s where TYPE(s) = :type
类似的Hibernate特定表达式是.class:
select s from Sample s where s.class = :type