Можно ли удалить кеш для конкретного именованного запроса? Я действительно не хочу удалять для всех запросов ... Или есть ли другой способ обхода?hibernate createQuery ошибка?
Это не работает, даже если я использую обычный класс Query ...
Я использую спящий режим 3.6, GlassFish 3.1.1, это приложение Java EE (код из модуля EJB)
у меня есть что-то вроде этого:
public User getUserByName(String username) {
try {
return (User) em.createNamedQuery("User.getUserByName").setParameter("username", username).getSingleResult();
} catch (NoResultException e) {
return null;
}
}
//...
if(getUserByName(entity.getUsername()!=null) {
em.persist(entity);
}
//...
// username added in database (checked)
if(getUserByName(entity.getUsername())==null) {
//something else
}
во второй раз я использую «getUserByName» снова .. пустой ... почему?
Я имею в виду, что это модуль кэш (потому что, если я изложу мой провайдер EclipseLink он работает, как это должно быть) ...
Я использую спячку это поиск ..
спасибо. не знал об этом .. Я попробую. – Alex
Приветствую вас :) В любом случае, здесь вы найдете рекомендации для hibernate query: [link] (http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/objectstate.html#d0e1215) – zeller