`

org.hibernate.PersistentObjectException: detached entity passed to persist异常

阅读更多
情形:用户注册,或则使用到 sessionFactory.getCurrentSession().persist();方法时候,第一次保存正常,在没有重启下再保存下一个就报 org.hibernate.PersistentObjectException: detached entity passed to persist异常

原因分析:

1。保存第一个的时候已经赋值了id,因为配置了hibernate主键生成策略,主键就不能手动设置了,一旦不为空或者0就被认为是已经保存到了数据库中,导致第二次保存是异常。因为保存的对象不是新new出来的。

2。原因就是我action的作用域设置错误了,我采用了默认单例的设置,对于Action来说必须采用prototype(每次调用创建一个对象)的作用域。

解决办法:在Action上就一个注解@Scope("prototype");或<bean id="assetAction" class="com.servicezone.itsd.asset.webapp.action.AssetAction" scope="prototype">

分享到:
评论

相关推荐

    JPA 开发中遇到的错误

    javax.persistence.PersistenceException: detached entity passed to persist 当你尝试保存一个已经与JPA上下文断开连接(即处于“游离”状态)的实体时,会抛出此异常。在JPA中,只有处于托管状态的实体才能被...

    妙解Hibernate 3.x:叩响面向对象思想之门 PDF

    9. 异常处理:分析在使用Hibernate时可能出现的常见异常,以及如何进行有效的错误处理和调试。 10. 性能优化:讨论如何通过缓存策略、批处理、延迟加载等手段提高Hibernate应用的性能。 11. 综合案例:通过实际...

    hibernate(ppt)

    1. Entity(实体):在Hibernate中,实体通常对应于数据库中的表,通过@Entity注解标识Java类为实体。 2. Primary Key(主键):每个实体都有一个唯一的标识符,用@Id注解标记为主键。 3. Mapping(映射):通过...

    hibernate学习

    2. **对象状态:** Hibernate定义了四种对象状态:瞬时(Transient)、持久化(Persistent)、托管(Managed)和脱管(Detached)。了解这些状态对于正确管理和更新对象至关重要。 3. **配置文件:** Hibernate使用...

    Manning.Hibernate.In.Action.rar

    《Hibernate in Action》是由Manning出版社出版的一本深入解析Hibernate框架的专业书籍,它全面而详尽地介绍了如何在Java应用程序中高效地使用Hibernate进行对象关系映射(ORM)。这本书不仅适合初学者,也对有经验...

    hibernate3.2_src官方源码

    `org.hibernate.tuple.entity.PojoEntityTuplizer`等类展示了这部分功能。 10. **连接池管理**:Hibernate可以与多种连接池(如C3P0、DBCP等)集成,实现数据库连接的高效复用。源码中涉及的`org.hibernate....

    Manning.Java.Persistence.with.Hibernate.Nov.2006

    1. **Hibernate核心概念**:包括实体(Entity)、标识符(Identifier)、持久化类、对象状态(Transient、Persistent、Detached)、Session、Transaction等。 2. **配置与环境设置**:讲解如何在项目中引入...

    hibernate课件

    【hibernate课件】 本课件集合涵盖了Hibernate框架的核心概念和主要功能,旨在帮助学习者深入理解并掌握这一强大的Java对象关系映射(ORM)工具。Hibernate是Java开发中用于简化数据库操作的一个开放源代码框架,它...

    Hibernate Criteria用法大全.docx

    【Hibernate Criteria 用法详解】 Hibernate Criteria API 是一种面向对象的查询方式,它提供了一种比HQL(Hibernate Query Language)更为简洁且直观的查询手段。通过Criteria API,开发者可以构建复杂的查询条件...

    5.Hibernate 05 Hibernate结合JPA1

    在本文中,我们将探讨如何将Hibernate与Java Persistence API (JPA) 结合使用。首先,我们需要了解JPA的基本概念。 **1. 什么是JPA?** Java Persistence API (JPA) 是Java平台上的一个标准接口,它定义了用来管理...

    Hibernate考试题.pdf

    - Hibernate管理的对象生命周期包括瞬时态(Transient)、持久态(Persistent)、托管态(Managed)、脱管态(Detached)和删除态(Removed)。 以上就是“Hibernate考试题.pdf”中涉及到的Hibernate相关知识点,...

    Android异常 java.lang.IllegalStateException解决方法

    2.java.lang.IllegalStateException: Adapter is detached. 原因: 1.单线程一次执行一个请求可以正常执行,如果使用多线程,同时执行多个请求时就会出现连接超时. 2.HttpConnection没有连接池的概念,多少次请求就...

    hibernate_参考

    1. 实体(Entity):在Hibernate中,实体对应于数据库中的表,通常是一个Java类,其实例表示数据库中的行。 2. 映射(Mapping):使用XML文件(hibernate.cfg.xml和.hbm.xml)或注解来定义Java类和数据库表之间的...

    hibernate帮助文档

    1. 实体(Entity):在Hibernate中,实体代表数据库表,通常是一个Java类。 2. 映射(Mapping):使用Hibernate XML配置文件或注解来定义实体类与数据库表之间的关系。 3. Session:它是Hibernate的主要工作单元,...

    hibernate 经典课件,适合学习框架的人

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作与对象模型进行松耦合,使得在编程时可以更加关注业务逻辑,而不是底层的SQL语句。这个经典课件针对想要深入理解和掌握Hibernate框架...

    深入浅出Hibermate

    《深入浅出Hibernate》是一本全面解析Hibernate框架的中文教程,旨在帮助读者深入理解并熟练掌握Hibernate在实际开发中的应用。Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发者...

    hibernate 教程

    6. 支持多对一(One-to-Many)、一对多(Many-to-One)、一对一(One-to-One)和多对多(Many-to-Many)的关系映射。 三、使用步骤 1. 配置Hibernate:设置hibernate.cfg.xml文件,包含数据库连接信息、方言、缓存...

Global site tag (gtag.js) - Google Analytics