使用Hibernate的时候 出现
javax.servlet.ServletException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.libray.bean.Book问题
每次第一次保存对象没有问题,但是保存第二个就会出现这个错误,因为我在ActionForm中 有一个属性
private Book book = new Book();
ActionForm 一直没有销毁,所以book对象也就是开始的那个book对象,这样就会出现持久化 多次book对象,而这个book对象是同一个。
所以在action中,不能用book = formbean.getBook(),然后persist
要将属性复制过去就不会出错
分享到:
相关推荐
9. **错误处理和日志记录**:理解Hibernate常见的错误和异常,如 detached entity passed to persist 等,并配置合适的日志系统,如Log4j或SLF4J,以便追踪应用运行状态。 总的来说,Hibernate AIP涵盖了从项目初始...
它确保在用户请求的整个生命周期内,Hibernate的Session保持打开状态,从而避免了“懒加载”时可能出现的“Detached entity passed to persist”错误。在Spring中,通过开启`<tx:annotation-driven>`和配置`...
4. **实体状态异常**: Hibernate在操作实体时会根据其生命周期状态进行处理,如果出现“ detached entity passed to persist”之类的错误,可能是因为实体状态管理不当。确保在操作实体前正确处理其状态(如merge、...
javax.persistence.PersistenceException: detached entity passed to persist 当你尝试保存一个已经与JPA上下文断开连接(即处于“游离”状态)的实体时,会抛出此异常。在JPA中,只有处于托管状态的实体才能被...
merge()方法主要用于处理游离对象(Detached Object),即将内存中的对象与数据库中的对象同步。当实体在Session之外被修改,然后希望这些更改反映到数据库时,merge()就是关键。调用merge()时,Hibernate会先在当前...
1. **生命周期**:实体Bean有三种生命周期状态:瞬时(Transient)、持久化(Persistent)和脱管(Detached)。瞬时Bean未与容器关联,不具有持久性;持久化Bean已由容器管理,并存储在数据库中;脱管Bean是从持久化...
如果对象之前是持久化的,那么它将变为游离状态(detached),数据库中的记录不会被删除,只是Session不再关心此对象。 关于对象的三种状态: - **transient(瞬态)**:对象没有与任何Session关联,它的状态是...
3. **持久化**:调用persist()方法可以使一个新的Entity进入持久化状态,即将其保存到数据库。 4. **获取**:find()方法可以根据主键从数据库中加载一个Entity。 5. **更新**:调用merge()方法可以将一个Detached...
与.Net Fiddle中的Detached一起玩! 附加匿名对象图: 导入JSON图: 分离映射器 它是什么 嗨!我正在尝试构建一个快速的,面向对象的映射器,以简化将不连贯的实体保存在Web服务中的任务。 它受到 , 和其他很棒的...
然而,`HEAD detached`状态是使用`git submodule`时可能遇到的一个常见问题,它意味着子模块的HEAD指针不再指向任何分支的最新提交,而是指向了历史中的某个特定提交。本文将深入探讨这个问题的原因、影响以及如何...
在处理关联关系时,如Company与Employee的一对多(one-to-many)和多对一(many-to-one)关系,需要特别注意如何管理和维护这些关系。例如,当删除Company时,可能需要同时删除所有关联的Employee。这可以通过级联...
`merge()` 方法用于将一个 detached(游离)对象的状态合并到当前的持久化上下文中,然后更新数据库。即使对象是新的,它也会先尝试在数据库中找到匹配的对象,如果找不到,则创建一个新的记录。在一对一或一对多等...
"Detached: 无框架框架"是一个专注于简洁与独立性的软件开发概念,它提倡在不依赖特定框架的情况下构建应用程序。这种做法允许开发者更加灵活地选择和组合技术,以适应项目需求,同时也避免了因框架升级或淘汰带来的...
- **Loading and Storing Objects**: Finally, you'll learn how to load objects from the database into Java instances and persist new or updated Java objects back to the database. #### Mapping ...
要安装,请在命令行中输入以下命令: npm install is-dom-detached输入ES模块: import isDetachedNode from 'is-dom-detached' ; CommonJS模块: const isDetachedNode = require ( 'is-dom-detached' ) ;用法...
The clean architecture is the opposite of spaghetti code, where everything is interlaced and there are no single elements that can be easily detached from the rest and replaced without the whole ...
安装包: npm install --save jqueryui-detached-1.11用法这个想法是将这个模块与jquery-detached结合使用。 例如: var $ = require ( 'jquery-detached-2.1.4' ) . newJQuery ( ) ; var jqueryui = require ( '...
- **Entity 的生命周期和状态**:包括临时状态(Transient)、托管状态(Managed)、分离状态(Detached)和删除状态(Removed)。 - **持久化 Entity (Persist)**:使用 `persist()` 方法将新的实体实例持久化到...
- **Entity生命周期**:EntityManager管理Entity的四种状态:Transient、Persistent、Detached和Removed,分别对应新建、已持久化、已分离和已删除。 - **持久化Entity**:调用`persist()`方法将瞬时对象变为持久化...