Попробуйте, это может сработать.
Это прекрасно сработало для меня.
1) Аннотация уровня класса.
@NamedQuery(name="UserDetails.byId" , query="from UserDetails where userId = ?")
2) Получить запись с помощью NamedQuery
Query qry2 = sf.getCurrentSession().getNamedQuery("USER_DETAILS.byName") ;
qry2.setString(0, "Angad Bansode");
List<UserDetails> user = qry2.list();
for (UserDetails userDetails : user) {
System.out.println("User Details by named native query name = " + userDetails.getUserName() + ", aadhaar no = " + userDetails.getAadharNo());
}