hibernate QuerySyntaxException-未映射字段

hibernate QuerySyntaxException-未映射字段,hibernate,hql,Hibernate,Hql,我收到一个QuerySyntaxException试图对2个表运行HQL查询: select p from ProductEntity p join p.categories c, p.productType t where c.name = :category and t.name = :type 例外情况是: org.hibernate.hql.internal.ast.QuerySyntaxException: p.productType is not mapped 我的实体已设

我收到一个QuerySyntaxException试图对2个表运行HQL查询:

 select p from ProductEntity p join p.categories c, p.productType t where c.name = :category and t.name = :type
例外情况是:

 org.hibernate.hql.internal.ast.QuerySyntaxException: p.productType is not mapped 
我的实体已设置,因此我认为所有内容都已映射:

 Product Entity:

 @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PRODUCT_TYPE_ID", nullable = false)
private ProductTypeEntity productType;

Product Type Entity:

@OneToMany(fetch = FetchType.LAZY, mappedBy = "productType")
private Set<ProductEntity> products = new HashSet<ProductEntity>(0);
产品实体:
@manytone(fetch=FetchType.LAZY)
@JoinColumn(name=“PRODUCT\u TYPE\u ID”,null=false)
私有产品类型实体产品类型;
产品类型实体:
@OneToMany(fetch=FetchType.LAZY,mappedBy=“productType”)
私有集产品=新哈希集(0);
我想选择类别为“x”和产品类型为“y”的所有产品

一个产品有一组类别,也有一个单一的类型,尽管一个类型可以应用于许多产品


有人能看到我的查询有什么问题吗?

我猜您在
p.productType t
之前缺少
join
关键字

因此,查询应该是:

select p from ProductEntity p join p.categories c join p.productType t where c.name = :category and t.name = :type

后来编辑:删除了
p.categories c

之后的逗号我已经试过了:org.hibernate.hql.internal.ast.QuerySyntaxException:unexpected token:join靠近第1行第94oh列,请删除
c
之后的逗号,我简直不敢相信只有那个逗号:(