У меня следующий код
public User findUser(){
User user = null;
String userName = "People's Democratic";
String queryString = "SELECT user from User user where user.userName = :userName ";
Map<String, Object> param = new HashMap<String, Object>();
param.put("userName", userName);
try {
final Query query = entityManager.createQuery(queryString);
Set<Map.Entry<String, Object>> parameters = param.entrySet();
for (Map.Entry<String, Object> parameter : parameters) {
query.setParameter(parameter.getKey(), parameter.getValue());
}
user = (User) query.getSingleResult();
} catch (Exception e) {
logger.error("Exception in fetching user for the user = "+userName+ " and queryString = "+queryString, e);
if (e instanceof NoResultException) {
// User not found
}
}
return user;
}
Хотя пользователь с именем пользователя = Народная демократия присутствует в таблице пользователей, этот код дает исключение в строке
query.getSingleResult ()
Выдается следующее исключение:
javax.persistence.EntityNotFoundException: Невозможно найти com.domain.User с идентификатором .....
Я попытался экранировать имя пользователя с помощью
StringEscapeUtils.escapeSql (userName) Blockquote
, но это не помогло.
Пожалуйста, помогите.Заранее спасибо.