Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa QueryException:无法解析属性:DESC_Jpa_Spring Data Jpa_Jpa 2.0 - Fatal编程技术网

Jpa QueryException:无法解析属性:DESC

Jpa QueryException:无法解析属性:DESC,jpa,spring-data-jpa,jpa-2.0,Jpa,Spring Data Jpa,Jpa 2.0,我想用JPA数数这几行 我的代码: String hql = "SELECT count(e.id) as count, e.status, e.error_class, e.error_message, e.id, e.settlement_status_raw FROM " + PaymentTransactions.class.getName() + " e WHERE e.terminal_id = :terminal_id AND (e.createdAt > :created_

我想用JPA数数这几行

我的代码:

String hql = "SELECT count(e.id) as count, e.status, e.error_class, e.error_message, e.id, e.settlement_status_raw FROM " + PaymentTransactions.class.getName() + " e WHERE e.terminal_id = :terminal_id AND (e.createdAt > :created_at) AND (e.status != 'approved') GROUP BY e.error_message ORDER BY count DESC";  
TypedQuery<PaymentTransactions> query = entityManager.createQuery(hql, PaymentTransactions.class).setParameter("terminal_id", terminal_id).setParameter("created_at", created_at);
List<PaymentTransactions> paymentTransactions = query.getResultList();
return paymentTransactions;
String hql=“选择count(e.id)作为count、e.status、e.error\u class、e.error\u message、e.id、e.resolution\u status\u raw FROM”+PaymentTransactions.class.getName()+“e其中e.terminal\u id=:terminal\u id和(e.createdAt>:created\u at)和(e.status!=“已批准”)按e.error\u message按计数顺序分组”;
TypedQuery query=entityManager.createQuery(hql,PaymentTransactions.class).setParameter(“终端id”,终端id).setParameter(“创建地点”,创建地点);
List paymentTransactions=query.getResultList();
退货付款交易;
但我有一个错误:

原因:org.hibernate.QueryException:无法解析属性:DESC


Count不存在于实体中,但我想将其作为值返回。实施这一点的正确方式是什么

在查询中,在Orderby之后只指定列名称,如

String hql = "SELECT count(e.id) as count, e.status, e.error_class, e.error_message, e.id, e.settlement_status_raw FROM " + PaymentTransactions.class.getName() + " e WHERE e.terminal_id = :terminal_id AND (e.createdAt > :created_at) AND (e.status != 'approved') GROUP BY e.error_message ORDER BY e.id DESC"; 

也许
count
正在破坏保留的语法?你能用点别的东西吗,比如
my\u count
?否则sql看起来没问题]。。。除非你插入的参数以某种方式破坏了它?是否也尝试使用硬编码参数?