`
zhouchaofei2010
  • 浏览: 1097625 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

解决hibernate查询后自动保存问题

 
阅读更多

 

hibernate在查询后会自动保存流离态的对象,但有时不需要这样的结果。可用克隆解决

 

用org.springframework.beans.BeanUtils的copyProperties解决

 

或者org.apache.commons.beanutils.BeanUtils的cloneBean()方法

 

但如上的都是浅克隆

 

===========

 

如果这样处理以后的对象a,还有引用b。并且引用的对象还引用了a。并且hml文件配置为cascade为保存更新的。

这需要对应用的对象进行clone克隆。即需要深度克隆处理。

 

 

分享到:
评论

相关推荐

    如何解决hibernate自动更新实体类的问题共5页.pd

    综上所述,解决Hibernate自动更新实体类的问题,关键在于理解和控制Hibernate的生命周期、持久化状态以及事务管理。通过调整配置、使用特定的API和理解事务隔离级别,我们可以有效地防止或控制自动更新行为,确保...

    hibernate保存不到数据1

    标题中的"hibernate保存不到数据1"是一个关于Hibernate框架在尝试保存数据到数据库时遇到问题的场景。描述提到了一个具体的解决方案,即通过在`hibernate.cfg.xml`配置文件中设置`connection.autocommit`属性为`true...

    Hibernate泛型Dao

    此外,了解SQL语言也是必要的,虽然Hibernate可以自动生成SQL,但在某些复杂查询场景下,可能需要手动编写SQL。最后,熟悉Spring框架和其他与Hibernate整合的技术,如Spring Data JPA,能够进一步提升开发效率。

    hibernate的配置使用和各种查询

    Hibernate是一种开源的对象关系映射(Object-Relational Mapping,简称ORM)框架,它为Java应用提供了利用SQL数据的持久化解决方案。通过ORM技术,开发人员可以将Java对象映射到数据库表上,从而避免了大量的SQL代码...

    时间戳实例 绝对好使 hibernate全自动实现时间戳

    在这个例子中,`createdAt`字段会在用户对象被首次保存到数据库时自动设置,而`updatedAt`字段则会在每次对象被更新时自动更新。这样的设计可以帮助我们轻松地追踪每个用户的创建时间和最近修改时间。 时间戳的应用...

    Hibernate Hibernate5 讲义 PDF

    这主要是为了解决内存的不稳定性和容量限制问题,并满足业务数据共享、大规模数据检索和数据管理的需求。 在企业级应用中,对象序列化适合少量对象的持久化,但不符合大规模查询和长时间保存的需求。因此,除了对象...

    Hibernate,hibernate笔记

    在数据库连接成功后,可以选择相应的表进行逆向工程操作,自动生成对应的实体类。需要注意的是,如果你不希望生成SessionFactory工具类,可以在配置时取消勾选。 5. **项目配置**: 对于MyEclipse项目,可能需要在...

    Hibernate案例:办公自动系统

    Hibernate 是一款强大的开源对象关系映射(ORM)框架,它为Java开发者提供了数据持久化的解决方案,极大地简化了数据库操作。在这个名为“办公自动系统”的案例中,我们可以深入理解Hibernate的核心概念和实际运用。...

    hibernate常见错误解决方案

    ### Hibernate常见错误解决方案 在开发基于Hibernate框架的应用程序时,我们经常会遇到各种各样...通过以上分析与解决方案,我们可以有效地识别和解决Hibernate中常见的异常问题,从而提高开发效率和应用程序的质量。

    Hibernate3的依赖包

    6. **实体生命周期管理**:Hibernate自动管理对象的生命周期,包括加载、持久化、脱管和删除等状态。 7. **类型转换和用户类型**:Hibernate支持基本数据类型的自动转换,同时也允许自定义复杂类型的映射。 8. **...

    仿hibernate动态生成sql保存对象

    7. **工具生成对象**:根据数据库结构自动生成Java对象,可以使用逆向工程工具,如Hibernate的Hibernate Tools或MyBatis的逆向工程插件,它们可以根据数据库表结构生成对应的Java实体类。 在实现过程中,`Oracle...

    Hibernate依赖包 所有的

    9. **事件和监听器**:Hibernate支持事件监听,允许在特定操作前后执行自定义逻辑,如保存前的验证或保存后的通知。 10. **实体生命周期**:Hibernate管理对象的生命周期,包括瞬时态、持久态、托管态和游离态,...

    hibernate 重点知识原创

    ORM 解决了传统编程语言与关系数据库之间数据表示的不匹配问题,通过元数据(如 .hbm.xml 文件)定义对象与数据库表之间的映射关系。这种映射使得开发者可以使用对象的属性和方法直接操作数据,而无需关注底层的 SQL...

    Struts+hibernate办公自动化系统

    通过Hibernate的Session接口,开发者可以实现对象的持久化操作,如保存、更新、查询和删除。Hibernate支持HQL(Hibernate Query Language)和 Criteria API,为查询提供了灵活的选项。 在"Struts+Hibernate办公自动...

    Hibernate中查询的法方

    为了解决这个问题,可以在`DetachedCriteria`中设置相应的查询条件,以实现带条件的分页查询。 通过理解和熟练运用这些基本查询方法,你可以有效地利用Hibernate进行数据操作,从而提高开发效率。在实际项目中,还...

    Hibernate实现原理模拟

    **Hibernate实现原理模拟** 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架...这不仅有助于日常开发,也有利于提升解决问题的能力。在学习和实践中,不断探索和优化,将使你成为更优秀的Java开发者。

    hibernate_reference使用指南全

    ### Hibernate使用指南精要 #### 一、简介与入门 **1.1 引言** Hibernate 是一个开源的对象关系...通过这些章节的学习,读者可以建立起坚实的基础,从而能够有效地利用 Hibernate 来解决实际开发中的数据访问问题。

    Hibernate(一对多表操作)

    为了解决这个问题,可以设置`FetchType.LAZY`,实现延迟加载: ```java @OneToMany(mappedBy = "user", fetch = FetchType.LAZY) private Set<Order> orders; ``` 这样,只有在真正访问`orders`集合时,Hibernate...

    hibernate源码

    深入学习Hibernate源码,可以从底层了解其实现原理,包括查询优化、缓存机制、事务处理等,有助于开发者在遇到问题时能快速定位并解决,提升代码质量和性能。同时,对源码的学习也能为自定义扩展和优化提供基础。

Global site tag (gtag.js) - Google Analytics