我想选择具有不同fieldName的行。而且此查询在PostgreSQL中也可以正常工作。

select f from FieldType as f inner join
    (select fa.fieldName, min(fa.id) as id from FieldType fa group by fa.fieldName)
    as f1 on f.fieldName =:f1.fieldName and f.id =:f1.id


但是我无法使用Java使此查询在HQL中工作。我总是不断收到这个错误


  org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:(


删除括号将错误移至下一个字符。我怎样才能解决这个问题?我愿意接受任何建议。

最佳答案

为了利用HQL,您似乎必须执行某种相关查询。

select f from FieldType as f
where (f.fieldName, f.id) in
   (select fa.fieldName, min(fa.id) as id
    from FieldType fa
    group by fa.fieldName)

关于java - HQL-内部加入错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44179453/

10-10 20:06