Следующий метод использует createNativeQuery() метод управляющего объекта Java:Синтаксис собственного запроса EntityManager?
public List<Dog> findDogById(String id) {
List<Dog> resultList = new ArrayList<>();
try {
resultList = persistence.entityManager().createNativeQuery(" SELECT * FROM DOG WHERE ID = '" + id+ "' ", DogEntity.class).getResultList();
} catch (Exception e) {
}
return resultList;
}
Вопрос, который я имею, что этот метод не возвращающие результаты, когда я ожидаю, что это сделать. То есть когда я запускаю запросы напрямую через SQL Developer
Я получаю результаты, но метод не возвращает их.
Действительно ли мой Syntax
правильный? Я не уверен по этому поводу:
" SELECT * FROM DOG WHERE ID = '" + id+ "' "
т.е. мне нужно как '
и "
?
Спасибо Я добавил e.printStackTrace(), который показал, что ошибка возникает, когда запрос пытается выполнить. Это объясняет возврат пустых списков? – java123999
Принятый ответ, поскольку он помог решить мою проблему. В моем коде была ошибка, которую я игнорировал. Ошибка заключалась в том, что мой сценарий обновления БД не был запущен, поэтому Hibernate искал колонку, которая еще не была там. – java123999