<P>近日遇到了NonUniqueObjectException错误,解决如下:<BR>org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session:<BR>a different object with the same identifier value was already associated with the session</P>
<P> </P>
<P>说你在现有的Session中已经绑定了一个对象,而这时,你还要强行将已经持久化的对象再重新加入到Session中。 <BR>在一个集合中的对象,随着一对多的中一的Load而级联Load进来,这时你的另一个持久化过的对象又想利用update(),会报这个错误。 <BR>又或者当你用session.lock()时,也可能。 <BR>总而言之,在你的Session中,已经存在(你想要更新的)对象了。</P>
<P>下面是Hibernate FAQ上的解释:</P>
<P>I called saveOrUpdate() or update() and got a NonUniqueObjectException! </P>
<P>The session maintains a unique mapping between persistent identity and object instance, in order to help you avoid data aliasing problems. You cannot simultaneously attach two objects with the same class and identifier to the same session. </P>
<P>The best way to avoid any possibility of this exception is to always call saveOrUpdate() at the beginning of the transaction, when the session is empty. </P>
<P>In Hibernate3, you can try using the merge() operation, which does not reattach the passed instance. <BR></P>
分享到:
相关推荐
在使用Hibernate进行数据库操作时,可能会遇到MySQL数据库中文排序不正确的问题。这通常是由于字符集设置、数据库...通过以上步骤,可以有效地解决MySQL数据库在Hibernate中的中文排序问题,确保数据的正确展示和检索。
通过以上两种方法之一,可以有效地解决Hibernate在处理中文字符时出现的乱码问题。关键在于确保客户端与服务器端之间传输数据时所使用的字符集保持一致。如果仍然遇到问题,建议检查数据库表的字符集设置、应用程序...
Hibernate不仅负责将Java对象映射到关系数据库中,还能够处理应用程序中的数据持久化需求。 标题“hibernate中文参考文档”意味着该文档是一份面向中文用户的Hibernate框架的参考资料,旨在为开发者提供详细的技术...
描述中的"hibernate orm框架api中文文档,学习资料,框架详解资料"进一步明确了这些资源的性质,即它们是关于Hibernate ORM框架的API文档、学习教程以及框架的详细解释,都是中文版本,方便中文读者学习。...
### Hibernate常见错误及解决办法 #### 一、Nodefaultconstructorforentity 错误 **问题描述**:在使用Hibernate执行查询语句时,系统抛出`Nodefaultconstructorforentity`错误。 **可能原因**:该错误通常是由于...
Struts2+Hibernate项目开发问题解决,开发中一些常见的问题
**Hibernate中文API最新参考文档** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化...通过深入学习和实践,开发者可以熟练地运用Hibernate解决实际项目中的数据持久化问题。
未来 Hibernate是一个强大的Java持久化框架...以上各点提供了实现这一目标的基础,但实际项目中可能还需要解决更多特定于数据库的问题。通过良好的设计和测试,可以确保Hibernate应用程序在多种数据库环境下稳定运行。
在Java的持久层框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它极大地简化了数据库操作。然而,在实际开发过程中,我们可能会遇到一些问题,比如在处理`hbm.xml`文件中的中文注释时出现乱码,或者...
Hibernate作为一款流行的开源ORM解决方案,极大地简化了数据库操作,使得开发者能够以面向对象的方式处理数据。这份手册深入浅出地讲解了Hibernate的核心概念、配置、使用方法以及最佳实践。 1. **Hibernate简介**...
标题中的“day36 10-Hibernate中的事务:解决丢失更新”指的是在使用Hibernate进行数据库操作时,关于事务管理和防止丢失更新的问题。在数据库管理中,事务是确保数据一致性的重要机制,而丢失更新是并发控制中可能...
在Java开发中,尤其是涉及到大数据量的处理时,人们往往会质疑ORM框架,如Hibernate,是否适合进行批量数据操作。然而,实际上,通过适当的技术手段,我们可以有效地解决Hibernate在批量处理时可能出现的性能问题。...
在此背景下,《很不错的Hibernate解决方案》一文介绍了一种基于Hibernate框架的物流系统持久层解决方案,旨在解决当前物流系统中存在的问题,并提升整体性能。 #### Hibernate框架简介 Hibernate是一种开放源代码的...
Hibernate是一款强大的Java持久化框架,它为Java开发者提供了一种对象关系映射(ORM)解决方案,使得在Java应用中管理数据库变得更为简单。这个“hibernate中文文档”压缩包包含的是Hibernate框架的中文版API文档,...
除了在`hibernate.cfg.xml`中配置URL外,还可以在Hibernate的`ConnectionProvider`中设置字符集,确保数据库连接时使用UTF-8。 7. **页面编码**: 如果是Web应用,还需要确保HTML页面的编码设置正确,通常在`...
通过提供数据持久化的解决方案,Hibernate提高了开发效率,降低了数据库访问的复杂性。 ### 2. 安装与配置 在开始使用Hibernate之前,需要将其库文件添加到项目的类路径中。`Hibernate3.1_DOC_CN.chm`文件包含的是...
在Java开发中,Hibernate提供了一种抽象层,允许开发者使用面向对象的编程方式来操作数据库,而无需直接编写SQL语句,极大地提高了开发效率。 《Hibernate官方中文参考手册》是学习Hibernate的基础,它详细介绍了...
3. **注解配置**: 除了XML,Hibernate也支持使用Java注解来定义实体类及其属性的映射。 **三、实体映射** 1. **@Entity**: 标记一个Java类为数据库实体。 2. **@Table**: 定义实体对应的数据库表名。 3. **@Id**: ...
Hibernate框架被广泛应用于企业级Java应用程序中,可以与Servlet/JSP Web应用、Java客户端程序等结合使用。 对象持久化(Persistence)是指将内存中的对象数据保存到持久化存储设备上,如硬盘。这主要是为了解决...
Hibernate 中 StringIndexOutOfBoundsException 异常解决方法 在使用 Spring 和 Hibernate 进行开发时,可能会遇到 StringIndexOutOfBoundsException 异常,这个异常的出现是由于 Hibernate 的映射文件和数据库中表...