HQL 中的常量枚举值
我有一个工作查询,我需要通过使用常量枚举值进行过滤来修改它。
现在它看起来是这样的:
public static final String venueQuery =
"select distinct v from package.Venue v "
+ "<some joins here> "
+ "WHERE v.venueType = package.enums.VenueType.VOUCHER_PROVIDER ";
以这种方式更改数据会导致
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token
列定义如下所示:
@Enumerated(EnumType.STRING)
@Column(name = "venue_type")
private VenueType venueType;
枚举定义如下所示:
public enum VenueType {
RESTAURANT, BAR, CAFE, FUN_CLUB, VOUCHER_PROVIDER
}
我确信查询的其他部分工作正常,因为在删除它之后,不会引发异常。
在 HQL 查询中设置常量枚举值是否有技巧?