I wrote a simple login system using a JPQL query that always does not return a result:
public boolean check(String name, String password) { final String qstring="SELECT e FROM Muser e WHERE e.name = '"+name+"'"; Muser user; try{ user = em.createQuery(qstring, Muser.class).getSingleResult(); } catch(NoResultException e){ return false; } return password.equals(user.getPassword()); }
When I changed it to my own request:
user = (Muser) em.createNativeQuery(qstring, Muser.class).getSingleResult();
or int expression:
final String qstring="SELECT e FROM Muser e WHERE e.id = "+id;
Everything goes well. What is the problem? Thanks a million!
user1036998
source share