Так что я пытаюсь удалить объект спящего режима из базы данных, но он возвращает мне сообщение о том, что таблица не существует. Кажется, что у него нет проблем с поиском объекта и сохранением изменений или созданием новых объектов - он только жалуется при удалении объекта.Hibernate - таблица не существует во время удаления
Этот код приводит к ошибке, поскольку таблица не существует.
try
{
Transaction txn = s.beginTransaction();
Resource r = (Resource) s.get(Resource.class, rid);
s.delete(r);
txn.commit();
}
Этот код вытаскивает объект из базы данных и без проблем печатает идентификатор.
try
{
Transaction txn = s.beginTransaction();
Resource r = (Resource) s.get(Resource.class, rid);
System.out.println(r.getId());
txn.commit();
}
выход консоли
Hibernate:
select
resource0_.id as id1_1_0_,
resource0_.bookable as bookable2_1_0_,
resource0_.description as descript3_1_0_,
resource0_.name as name4_1_0_
from
resources resource0_
where
resource0_.id=?
Hibernate:
delete
from
resources_resources
where
resources_id=?
2016-02-07 02:27:13.831 WARN 8396 --- [nio-8080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1146, SQLState: 42S02
2016-02-07 02:27:13.831 ERROR 8396 --- [nio-8080-exec-8] o.h.engine.jdbc.spi.SqlExceptionHelper : Table 'bargaink_megtest.resources_resources' doesn't exist
2016-02-07 02:27:13.831 INFO 8396 --- [nio-8080-exec-8] o.h.e.j.b.internal.AbstractBatchImpl : HHH000010: On release of batch it still contained JDBC statements
Я понятия не имею, как это могло произойти, когда он вполне может ясно видеть таблицу при добавлении новых объектов и модернизацию существующих объектов. Может ли кто-нибудь объяснить, что здесь происходит?
Благодаря
Это происходит в том же сеансе или в разных сеансах? –
@ KenBekov его тот же код Я только что изменил эту одну строку, чтобы проверить, было ли это вернуть объект, который был – FMC
Вы пытались удалить объект с помощью запроса HQL? –