禁止显示错误消息,找不到要查询的实体

时间:2018-11-24 12:29:22

标签: java jpa spring-data

我使用以下代码获取单行结果:

@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

如何抑制该异常并仅继续执行代码?

2 个答案:

答案 0 :(得分:3)

只需抛出并捕获javax.persistence.NoResultException异常并继续执行代码即可。

可能的How to continue program execution even after throwing exception?副本

答案 1 :(得分:1)

只需更新日志记录方式:

    log4j.logger.javax.persistence=WARN