javax.persistence.NoResultException: getSingleResult () no recuperó ninguna entidad

He creado un namedquery con ejb para verificar si se usa el nombre de usuario. Cuando singleResult es nulo, obtengo la siguiente excepción:

javax.persistence.NoResultException: getSingleResult() did not retrieve any entities

Pero esta excepción es el resultado que quiero cuando el nombre de usuario es gratuito.

Aquí está el código:

 public User getUserByUsername(String username) throws DAOException{
    try{
        Query q = em.createNamedQuery(User.getUserByUsername);
        q.setParameter("username", username);
        return (User) q.getSingleResult();
    }catch(Exception e){
        throwException(username, e);
        return null;
    }
}

Alguien sabe cuál es el problema. :(

Me gustaría devolver nulo y no obtener una excepción.

Muchas gracias

Respuestas a la pregunta(7)

Su respuesta a la pregunta