Spring和Hibernate:无法删除条目

时间:2010-08-18 12:53:31

标签: java hibernate spring orm

我坚持使用条目删除DB中的条目。我将Hibenrnate与spring集成在一起。 RDMS是HyperSql,应用程序服务器是

Tomcat 6.对于依赖关系管理我使用maven并进行开发我使用带有maven插件的Eclipse。

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

我的问题如下。首先,我使用merge将条目存储到数据库中。此条目是用户注册的请求。输入存储到db后,我向该新用户发送电子邮件。此电子邮件包含确认链接。这用于验证他/她输入的用户电子邮件地址,以进行注册请求。用户转到我在电子邮件中发送的链接后,会要求用户提供凭据,如果凭据正常,则会确认注册请求,并应从DB中删除。我正在尝试使用delete(Object)方法删除此条目。一切似乎都很好,直到我尝试访问我刚刚删除的相同请求。此条目实际上没有删除,在日志中我找到下一条消息:

在删除处理中处理瞬态实体。

我尝试刷新会话并清除它,但它没有做任何好事。

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

任何帮助将不胜感激。

祝你好运, Tiho

1 个答案:

答案 0 :(得分:3)

您是否在删除的同一会话中加载对象?

您应该这样,因为该对象将由该会话管理。您无法在某处合并对象,将其传递,然后明确删除它。 事务已关闭,然后对象是暂时的(非托管)。简而言之,就在删除之前,加载对象。你有这个ID,所以这应该不难。

修改

将带有工作答案的评论移到问题中。