我想在 Spring Boot 应用程序中使用休眠从 PostgreSql 数据库的查询返回值的 JsonArray 中检索一个对象。但是我面临一个异常,“>”是意外标记,尽管我的查询在 pgAdmin4 查询工具中运行良好,以下是我的代码片段。
@PersistenceContext
private EntityManager entityManager;
@Transactional
public String getItemById(Long id) {
String result = (String) entityManager.createQuery("SELECT JSON_AGG(items)->>0 AS item FROM items WHERE id=:id").setParameter("id", id)
.getResultList().get(0);
System.out.println(result);
return result;
}
异常如下:
org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: > near line 1, column 24 [SELECT JSON_AGG(items)->>0 AS item FROM items WHERE id=:id]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: > near line 1, column 24 [SELECT JSON_AGG(items)->>0 AS item FROM items WHERE id=:id]
at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:367)
请帮助实现这一目标或建议我在不更改查询的情况下解决问题。提前致谢。
慕容3067478
相关分类