Я использую Hibernate и получить«Ни в одной строке с данным идентификатором не существует», хотя она существует
Исключение в потоке «основной» org.hibernate.ObjectNotFoundException: Ни в одной строке с данным идентификатором не существует: [# 271]
Что является довольно странным в этой ошибке, так это то, что объект с данным идентификатором существует в базе данных. Я вставил проблемную запись в другой запуск приложения. Если я получаю доступ к нему в одном и том же сеансе (например, в том же сеансе спящего режима), похоже, нет проблем с получением данных.
Просто потому, что это может быть ошибка отображения:
public class ProblemClass implements Persistent {
@ManyToOne(optional = false)
private MyDbObject myDbObject;
}
public class MyDbObject implements Persistent {
@OneToMany(mappedBy = "myDbObject")
private List<ProblemClass> problemClasses;
@ManyToOne(optional = false)
private ThirdClass thirdClass;
}
У меня нет абсолютно никакого понятия, даже если смотреть на. Любые советы были высоко оценены!
Только уточнить: Данные были вставлены в другое RUN приложения. Это определенно в базе данных, так как я вижу это через SQL-Query после прекращения действия приложения. И после THAT, т. Е. При повторном запуске приложения, я получаю ошибку в FIRST-запросе базы данных - без удаления, никакого откат.
Дополнение: Поскольку был задан вопрос, вот код для извлечения данных:
public List<ProblemClass> getProblemClasses() {
Query query = session.createQuery("from ProblemClass");
return query.list();
}
И просто, чтобы сделать его полным, здесь общий код, чтобы вставить его (перед загрузкой в другом пробеге приложение):
public void save(Persistent persistent) {
session.saveOrUpdate(persistent);
}
Используйте таблицы InnoDB ... –
Большое вам спасибо за сообщение ответа! – Lisa