Сравнение строк JPA

Я написал простую систему входа, используя запрос JPQL, который всегда не возвращает результата:

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());
}

Когда я изменил его на собственный запрос:

user = (Muser) em.createNativeQuery(qstring, Muser.class).getSingleResult();

или выражение типа int:

final String qstring="SELECT e FROM Muser e WHERE e.id = "+id; 

Все идет нормально. В чем проблема? Большое спасибо!

5
задан Dennis Meng 24 October 2013 в 21:30
поделиться