本菜初学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能显著提升数据库操作的能力。
这个集合是为了便于学习和使用Hibernate 3.x框架而准备的,适用于初学者和开发者,确保他们能够快速搭建开发环境。 **描述解析:** 描述中提到,这个集合包含了马士兵老师在VeryCD.com上分享的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应用的数据...
2. **性能问题:**尽管 Hibernate 能够提供良好的性能,但在某些场景下(例如大量并发请求)可能会遇到性能瓶颈。 3. **学习成本:**对于初学者来说,Hibernate 的学习成本相对较高。 4. **不适合所有场景:**...
这份文档资料旨在帮助初学者深入理解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所需要的所有jar包" 指的是...总的来说,这个压缩包是一个全面的Hibernate开发环境起步包,包含运行Hibernate应用所需的所有组件,适用于初学者快速上手或者为现有项目添加Hibernate支持。
1. **学习曲线较陡峭:**对于初学者来说,Hibernate 的概念较为复杂,上手难度较大。 2. **性能问题:**虽然提供了缓存机制,但在某些场景下可能无法满足高性能需求。 3. **灵活性受限:**由于自动化的特性,有时...
【hibernate培训教程】是针对Java开发人员深入理解并掌握ORM(Object-Relational Mapping)框架Hibernate的专业教程。本教程包含两部分:PPT演示文稿(hibernat-ppt.rar)和文档资料(hibernate-doc.rar),旨在提供一...
提供的学习PPT可能涵盖这些内容,帮助初学者快速掌握Hibernate的基本用法和最佳实践。 总之,Hibernate通过一系列的jar包和配置文件,构建了一个完整的ORM框架,简化了Java与数据库之间的交互。了解并熟练掌握这些...
《韩顺平.2011版.hibernate_ppt》是一个关于Hibernate框架的培训教程,由知名讲师韩顺平在2011年制作并分享。Hibernate是一个强大的Java对象关系映射(ORM)框架,它极大地简化了Java应用程序与数据库之间的交互。...
《Hibernate in Action》是由Manning出版社出版的一本深入解析Hibernate框架的专业书籍,它全面而详尽地介绍了如何在Java应用程序中高效地使用Hibernate进行对象关系映射(ORM)。这本书不仅适合初学者,也对有经验...