Spring и Hibernate: невозможно удалить запись - PullRequest
0 голосов
/ 18 августа 2010

Я застрял с записью об удалении записи из БД. У меня Hibenrnate интегрирован с пружиной. RDMS - это HyperSql, а сервер приложений -

Tomcat 6. Для управления зависимостями я использую maven, а для разработки использую Eclipse с плагином maven.

Hibernate is in version: 3.3.2.GA
Spring is in version: 3.0.3.RELEASE
HyperSql is in version: 2.0.0

Моя проблема заключается в следующем. Сначала я сохраняю запись в базе данных с помощью слияния. Эта запись является запросом на регистрацию пользователя. После того, как запись сохранена в БД, я отправляю электронное письмо этому новому пользователю. Это письмо содержит ссылку для подтверждения. Это используется для подтверждения адреса электронной почты пользователя, который он / она ввел, делая запрос на регистрацию. После того, как пользователь перейдет по ссылке, которую я отправил по электронной почте, у пользователя запрашивают учетные данные, и, если учетные данные в порядке, запрос на регистрацию подтверждается и должен быть удален из БД. Я пытаюсь удалить эту запись, просто используя метод delete (Object). Все вроде бы нормально, пока я не попытаюсь получить доступ к тому же запросу, который я удалил несколько минут назад. Эта запись фактически не удалена, и в журнале я нахожу следующее сообщение:

обработка переходного объекта при обработке удаления.

Я пытался очистить сессию и очистить ее, но ничего хорошего не получилось.

Session factory is: org.springframework.orm.hibernate3.LocalSessionFactoryBean

Любая помощь будет оценена.

С наилучшими пожеланиями, Tiho

1 Ответ

3 голосов
/ 18 августа 2010

Загружаете ли вы объект в том же сеансе, который удаляете?

Вы должны, потому что таким образом объект может управляться этим сеансом. Вы не можете объединить объект где-нибудь, передать его, а затем просто удалить. Транзакция была закрыта, и тогда объект является временным (неуправляемым). Короче говоря, непосредственно перед удалением загрузите объект. У вас есть идентификатор, так что это не должно быть сложно.

EDIT

Переместил комментарий с рабочим ответом в вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...