Cita: createQuery("select u from Usuario as u where u.nombre=nombre")
"u.nombre=nombre" es una condición que se cumple siempre, y por eso te devuelve todas las filas. Seguramente lo que quieres es parametrizar la query, pero para eso no puedes poner simplemente el nombre de la variable dentro de la cadena sin más.
Quizá sea esto lo que buscas:
http://www.hibernate.org/hib_docs/v3...ing-parameters