JPQL查询非entites的集合

我想用一组非实体进行JPQL查询。 这是我的表实体:

@Entity @Table(name = "ct_table") public class Table { ... @CollectionOfElements(fetch = FetchType.EAGER) @JoinTable(name = "ct_table_result", joinColumns = @JoinColumn(name = "tableId")) @MapKey(columns = { @Column(name = "label") }) @Column(name = "value") private Map tableResults; ... 

然后我尝试做这样的查询

 select count(*) from table where table.tableResults['somekey'].value='somevalue' 

但我得到以下例外:

 Cannot create element join for a collection of non-entities! 

有什么建议??

谢谢你的时间

编辑:

我使用JPA 1和hibernate 3.3。 JBoss 5中的默认库

JPA 2规范 (第139页)定义了KEY()VALUE()函数来访问键和映射值元素集合的值:

 select count(t.id) from Table t where KEY(t.tableResults) = 'somekey' and VALUE(t.tableResults) = 'somevalue'