getSingleResult()查不到结果时,它就抛出NoResultException异常。可以通过捕获NoResultException来防止抛出NoResultException异常。在getSingleResult的源码里有这样一句: @throws EntityNotFoundException if there is no result
- try {
- return (String)em.createQuery(sql).setParameter(1,username).getSingleResult();
- } catch (NoResultException e) {
- return null;
- }