gpt4 book ai didi

java - Spring 和 hibernate : can't delete entry

转载 作者:行者123 更新时间:2023-12-02 00:50:18 25 4
gpt4 key购买 nike

我坚持从数据库中删除条目。我将 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

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

在删除处理中处理 transient 实体。

我尝试刷新 session 并清除它,但没有起到任何作用。

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

任何帮助将不胜感激。

最诚挚的问候,蒂霍

最佳答案

您是否在删除的同一 session 中加载该对象?

您应该这样做,因为这样该对象就可以由该 session 管理。您不能在某处合并对象,将其传递,然后简单地删除它。事务已关闭,并且对象是暂时的(非托管)。简而言之,在删除之前加载对象。您有 ID,所以应该不难。

编辑

将带有有效答案的评论移至问题中。

关于java - Spring 和 hibernate : can't delete entry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3512259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com