今天利用ssh框架对oracle数据库进行更新操作时,报如下异常:
org.hibernate.TransientObjectException: The given object has a null identifier: cn.y.test0421.beans.systemlist
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.getUpdateId(DefaultSaveOrUpdateEventListener.java:272)
at org.hibernate.event.def.DefaultUpdateEventListener.getUpdateId(DefaultUpdateEventListener.java:69)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:240)
at org.hibernate.event.def.DefaultUpdateEventListener.performSaveOrUpdate(DefaultUpdateEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate
自己检查了下代码,发现没有主键的信息,以前没用到hibernate的sql语句为"update tableName set values=xxx where primaryKey=xxx",这个错误可以理解为没有后面的where语句,hibernate当然不知道要更新哪条数据....将主键信息加入pojo,一切正常.
为遇难的玉树人民和萨马兰奇爷爷默哀.
分享到:
相关推荐
在Java世界中,Java Persistence API(JPA)是Oracle公司推出的用于对象关系映射(ORM)的标准框架,它简化了数据库操作,使开发者能够用Java对象来操作数据库记录。本教程将深入探讨JPA中的一对多双向关联及级联...
标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...
org.hibernate.TransientObjectException: object references an unsaved transient instance 当一个实体引用了另一个尚未保存的实体时,会抛出此类异常。这通常发生在级联保存的场景中,如果父实体尝试保存时,子...
3.Caused by:org.hibernate.TransientObjectException:object references an unsaved transient instance 原因:代码中关联的对象没有set值进去。查看代码,发现是enterPriseStrength和enterprise为多对一
* org.hibernate.TransientObjectException: 对象引用了未保存的瞬态实例 + 解决方案:检查对象是否已经被保存,如果没有,则需要调用 save() 或 update() 方法来保存对象。 * org.springframework.orm.hibernate3....
**HibernateException: JDBC Driver class not found: org.gjt.mm.mysql.Driver** **异常描述:** 此异常表明Hibernate无法找到指定的JDBC驱动类。 **解决方法:** - 确保JDBC驱动已添加到项目依赖中。 - 检查...
在调试过程中,可能会遇到`Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance`这样的异常。这个异常通常是因为在持久化操作时,关联的对象没有被正确设置。例如...
`org.hibernate.TransientObjectException`: object references an unsaved transient instance** - **异常描述**:当尝试保存一个对象时,该对象引用了一个尚未被持久化的对象。 - **原因分析**:通常发生在尝试...
- 错误处理:当对象状态不匹配或ID设置不正确时,Hibernate会抛出特定异常,如`PersistentObjectException`, `IdentifierGenerationException`, `TransientObjectException`, `NonUniqueObjectException`等。...