我正在尝试检索特定字段的第一个字符的不同列表,但 hibernate 返回以下错误。
org.hibernate.hql.internal.ast.QuerySyntaxException:
unexpected token: LEFT near line 1, column 17 [Select DISTINCT LEFT(name,1)
代码
Query query = sessionFactory
.getCurrentSession()
.createSQLQuery(
"Select DISTINCT LEFT(name,1) from Name
WHERE age = :age");
query.setParameter("age", age);
return query.list();
我找到了这个 answer那没有帮助。
预期输出
如果我搜索 age 12,它应该返回年龄值为 12 的名字的第一个字符,例如:a,b,f,g,k,l,z
最佳答案
改用子字符串。
Select DISTINCT SUBSTRING(name, 1, 1) from Name WHERE age = :age
关于java - Hibernate createSQLQuery 不接受 Left 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32491693/