Я использую Hibernate и получаю
Исключение в потоке "main" 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();
}
И только для того, чтобы сделать это, вот общий код для его вставки (перед извлечением в другом RUN приложения):
public void save(Persistent persistent) {
session.saveOrUpdate(persistent);
}