gpt4 book ai didi

java - hibernate 持续不工作

转载 作者:行者123 更新时间:2023-12-02 12:56:23 26 4
gpt4 key购买 nike

我在数据库APP_USERS中有一个简单的AppUser实体类和表。当我从 DAO 类执行 addAppUser 时,出现以下异常:

HTTP Status 500 - Request processing failed; nested exception is org.hibernate.PersistentObjectException: detached entity passed to persist: com.spring.model.AppUser

@Override
public void addAppUser(AppUser p) {
Session session = this.sessionFactory.getCurrentSession();
session.persist(p);
logger.info("AppUser saved successfully, AppUser Details="+p);
}

不知道如何解决。相同的代码可以很好地保存不同类的对象。做了一些研究,但找不到任何有帮助的东西。

最佳答案

问题是您的AppUser来自外部,因此它不受hibernate管理。调用 merge 重新附加您的 DAO,即让 hibernate 再次处理它:

session.merge(p);

如果仍然遇到异常,可以先尝试查看该对象是否已在 session 中,如果是则调用 update(obj),否则调用 merge (对象)

例如:

if(session.contains(obj)) session.update(obj);
else session.merge(obj);

关于java - hibernate 持续不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44411963/

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