本菜初学hibernate,结果在运行某一程序后出现如下错误:
org.hibernate.NonUniqueObjectException
: a different object with the same identifier value was already associated withthe session
大概意思是:有不同的持久化类的对象,里面有着相同的实体类型的值,而且该值已经关联到了session.
那么什么叫做实体类型呢?google之.... 得到如下结果:
实体类型和值类型的区别:
实体类型:在数据库中有该类型所对应的主键,而且该对象可以被其他对象所引用,那么该类型就为实体类型.
值类型:本身没有用以标识的属性,依赖于某个对象(生命周期取决于所依赖的对象),并且无法被两个以上的对象引用的对象.
总而言之,实体类型就相当于一张表的主键,而除了这张表的主键之外的所有字段都是值类型的.(如理解有误,还请各位指点orz).
那么,再回到我们刚才的问题,不同的对象里有着不同的实体类型,那么就要检查持久化类所对应的xxx.hbm.xml文件里的关于主键的配置,是否使得生成多个对象时导致主键的重复.....(基本上是主键生成策略的问题)
本菜就是因为误把<generator>设置成了assigned,而之后又没有手动的给id赋值,导致生成2个对象的时候,报了该错误..orz
大概意思是:有不同的持久化类的对象,里面有着相同的实体类型的值,而且该值已经关联到了session.
那么什么叫做实体类型呢?google之.... 得到如下结果:
实体类型和值类型的区别:
实体类型:在数据库中有该类型所对应的主键,而且该对象可以被其他对象所引用,那么该类型就为实体类型.
值类型:本身没有用以标识的属性,依赖于某个对象(生命周期取决于所依赖的对象),并且无法被两个以上的对象引用的对象.
总而言之,实体类型就相当于一张表的主键,而除了这张表的主键之外的所有字段都是值类型的.(如理解有误,还请各位指点orz).
那么,再回到我们刚才的问题,不同的对象里有着不同的实体类型,那么就要检查持久化类所对应的xxx.hbm.xml文件里的关于主键的配置,是否使得生成多个对象时导致主键的重复.....(基本上是主键生成策略的问题)
本菜就是因为误把<generator>设置成了assigned,而之后又没有手动的给id赋值,导致生成2个对象的时候,报了该错误..orz
相关推荐
《Hibernate 3.6.4.Final:Java ORM框架的深度探索》 Hibernate,作为Java领域中最著名的对象关系映射(ORM)框架之一,自...无论是初学者还是经验丰富的开发者,深入学习和实践Hibernate都是提升技能树的重要一环。
Hibernate 是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作。在JDBC(Java Database Connectivity)的基础上,...对于初学者而言,理解并熟练运用Hibernate能显著提升数据库操作的能力。
### Java Persistence with Hibernate 第二版 (2015) #### 书籍概述 《Java Persistence with Hibernate》第二版是一本深入探讨Hibernate框架以及Java持久化技术的权威指南。本书由Christian Bauer、Gavin King和...
**初学Hibernate,Hibernate入门** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。在Java应用中,通过Hibernate,开发者可以将数据库操作抽象成对象模型,使得代码...
《孙卫琴Hibernate电子课件》是一套针对Java开发中的持久化框架Hibernate的详细学习资料。Hibernate是一个开源的ORM(对象关系映射)框架,它为Java开发者提供了方便的数据库操作方式,使得开发者无需直接编写SQL...
Hibernate ORM,全称Hibernate Object Relational Mapping,是Java领域中一款广泛应用的开源对象关系映射框架。它为开发者提供了一种将面向对象的模型与传统的关系数据库之间的转换工具,极大地简化了Java应用的数据...
这份文档资料旨在帮助初学者深入理解Hibernate与Spring的集成,为你的开发之路提供坚实的理论基础和技术支持。 一、Hibernate概述 Hibernate是一个开源的ORM框架,它简化了Java应用与数据库之间的交互。通过提供...
《Hibernate 5.2.12.Final:深入解析与实战指南》 Hibernate,作为Java领域最著名的对象关系映射(ORM)框架之一,一直以来都备受开发者青睐。本资源为Hibernate 5.2.12.Final的最新官方完整版,包含了源码、实例...
本压缩包“ssh-hibernate常用包.rar”包含了学习Hibernate5时所需的基础导入jar包,特别适合初学者进行数据库管理与Java对象的映射学习。 1. **Hibernate5**: Hibernate 5是ORM(Object-Relational Mapping)框架的...
根据提供的标题“深入浅出 Hibernate.pdf”以及描述“深入浅出 Hibernate.pdf”,我们可以推断这份文档主要讲解了Hibernate框架的相关知识。接下来,我们将基于这些信息展开详细的解释与知识点的梳理。 ### ...
**Hibernate框架介绍** Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作与业务逻辑层解耦,使得开发人员可以更专注于Java对象...这个示例对于初学者理解和实践Hibernate框架非常有帮助。
4. **示例**:可能包含一些简单的示例项目,用于演示如何配置和使用Hibernate,对于初学者来说是非常实用的学习资源。 5. **构建脚本**:如pom.xml文件(如果使用Maven),或者build.gradle文件(如果使用Gradle),...
《韩顺平.2011版.hibernate_ppt》是一个关于Hibernate框架的培训教程,由知名讲师韩顺平在2011年制作并分享。Hibernate是一个强大的Java对象关系映射(ORM)框架,它极大地简化了Java应用程序与数据库之间的交互。...
然而,对于初学者来说,遇到错误是常有的事,比如“java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource”。这个异常表明在运行时,系统无法找到指定的类,即Apache Commons DBCP的...
《Hibernate in Action》是由Manning出版社出版的一本深入解析Hibernate框架的专业书籍,它全面而详尽地介绍了如何在Java应用程序中高效地使用Hibernate进行对象关系映射(ORM)。这本书不仅适合初学者,也对有经验...
《Manning.Java.Persistence.with.Hibernate》一书是Hibernate领域的权威指南,由Hibernate项目的主导开发者撰写,深入浅出地讲解了Hibernate框架的核心概念、架构设计、配置方法以及在实际开发中的应用技巧。...
Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转换为对象级别的操作,从而简化了...如果你是初学者,建议先从官方文档或示例代码开始学习,逐步理解Hibernate的核心概念和工作原理。
Hibernate是Java领域中一款广泛应用的关系对象映射框架,它允许开发者用面向对象...这个“hibernate完整配置文件”压缩包应该包含了所有必要的配置和示例,是初学者和有经验的开发者深入理解Hibernate配置的宝贵资源。