HQL: where子句中的未知列



我正在尝试计算hql查询的行数。我得到一个警告,列TypeOfPermission不存在。这让我感到奇怪,因为之前的查询确实有效。下面的行返回了2行(如预期的那样)

from ClientIdentity c left join fetch c.Permissions p where p.TypeOfPermission = :permissionType;

然而,使用下面的计数查询,查询失败,因为列TypeOfPermission现在不再被识别。

countQuery = "select count(*) from ClientIdentity c left join fetch c.Permissions p where p.TypeOfPermission = :permissionType";
long count = countQuery.UniqueResult<long>();

你改了:

  c.Permissions to Permissions

当使用"Count(*)"时,不需要"fetch"

countQuery = "select count(*) from ClientIdentity c left join c.Permissions p where p.TypeOfPermission = :permissionType";
long count = countQuery.UniqueResult<long>();

最新更新