【发布时间】:2018-11-24 12:29:22
【问题描述】:
我使用此代码获取单行结果:
@Override
public PaymentTransactions transactionByUnique_Id(String unique_id) throws Exception {
String hql = "select e from " + PaymentTransactions.class.getName() + " e where e.unique_id = :unique_id";
Query query = entityManager.createQuery(hql).setParameter("unique_id", unique_id);
PaymentTransactions paymentTransaction = (PaymentTransactions) query.getSingleResult();
return paymentTransaction;
}
但是当我没有匹配的行时,我得到了异常:
14:25:41,736 INFO [stdout] (default task-1) javax.persistence.NoResultException: No entity found for query
如何抑制该异常并继续执行代码?
【问题讨论】:
-
调用 getResultList(),如果存在则返回它的第一个元素。另外,请尊重 Java 命名约定,并使用 TypedQuery。
-
我应该如何更改代码以使用 TypedQuery?
-
Basic java 正在捕获异常并基于此从您的方法返回不同的结果。与 JPA API 无关
标签: java jpa spring-data