- 浏览: 1990161 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- JavaEE (122)
- Oracle数据库 (29)
- JavaScript (37)
- SAP (5)
- MySql数据库 (7)
- JavaSE (4)
- Ajax (1)
- jQuery (13)
- SSH框架 (36)
- Web Service (10)
- JSF框架 (2)
- JBPM (0)
- ireport报表 (2)
- ibatis (5)
- Hibernate (31)
- JSP (11)
- Tomcat 服务器 (20)
- Other (19)
- JavaWeb (4)
- Maven (11)
- OSWorkFlow (10)
- HTML (13)
- Exception汇总 (7)
- SVN (2)
- 笑话 (1)
- JSTL (1)
- WebSphere Message Broker (13)
- ANT命令 (3)
- Liunx (12)
- Struts2 (26)
- Eclipse (6)
- DOS (3)
- Flex (11)
- WebSphere (1)
- 开发常用工具 (3)
- Junit (2)
- EJB (4)
- Struts1.2 (2)
- Jboss (1)
- Android (2)
- Java框架源码解析 (1)
- Spring (4)
- MyBatis (6)
- SpringMVC (4)
- Jetty (2)
- 数据库表设计 (1)
- SSO (4)
最新评论
-
贝塔ZQ:
也可以试试PageOffice插件,觉得更简单点
Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度 -
jia1208:
...
Could not publish server configuration for Tomcat v6.0 Server at localhost. -
u011274527:
赞
java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误 -
旭旭小牛啦:
怎么没哟了,继续赛
jQuery 选择器 -
wzw3919:
100行会报空指针
Java 解压缩zip文件
今天在做Hibernate中1多1双向关联映射的实例时,
保存时,报下面的错误..
检查了一下..具体Hibernate配置代码是没有问题:
Person_SX_PK_One_to_One.hbm.xml:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="pack.java.model.Person_SX_PK_One_to_One" table="ZHT_PERSON_SX_PK_ONE_TO_ONE"> <id name="id" column="ID"> <generator class="identity"></generator> </id> <property name="name" column="NAME"></property> <property name="age" column="AGE"></property> <!-- 1对1,引用address对象, --> <one-to-one name="addressSXPKOneToOne" class="pack.java.model.Address_SX_PK_One_To_One" fetch="select" lazy="false" cascade="all"> </one-to-one> </class> </hibernate-mapping>
Address_SX_PK_One_To_One.hbm.xml:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="pack.java.model.Address_SX_PK_One_To_One" table="ZHT_ADDRESS_SX_PK_ONE_TO_ONE"> <id column="ID" name="id"> <!-- generator 主键生成策略,配制成foreign,外键,是引用主表person的对象。 --> <generator class="foreign"> <param name="property">personSXPKOneToOne</param> </generator> </id> <property name="addressDetail" column="ADDRESSDETAIL"></property> <!-- 表示在address表中,存在外键约束,外键参考相关表person对象。 --> <one-to-one name="personSXPKOneToOne" constrained="true"></one-to-one> </class> </hibernate-mapping>
然后写了一个test类,测试时,
给person设置属性值并且给peson设置address对象,然后保存person. 现在就发生错误了.
原因是因为没有给address对象设置person对象. 所以报如下错误,。原因在于address引用了person表的主键,如果不设置.则会引用一个null值..不能进save操作,所以,需要注意。
错误信息:
Exception in thread "main" org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property: personSXPKOneToOne
at org.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:44)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:99)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:334)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
at pack.java.test.HibernateDemoXS_PK_OneToOne.savePerson(HibernateDemoXS_PK_OneToOne.java:31)
at pack.java.test.HibernateDemoXS_PK_OneToOne.main(HibernateDemoXS_PK_OneToOne.java:15)
发表评论
-
大型互联网服务集成平台:springmvc+mybatis+restfull+JMS+webservice+bootstrap
2015-04-12 23:36 22SpringMVC + Mybatis + SpringS ... -
Spring中二级缓存的配置
2011-12-18 20:40 22331.首先,在spring的hibernate配置里(app ... -
Hibernate 配置文件提示
2011-12-11 16:03 10311.这个则是hibernate.cfg.xml文件的头信息.. ... -
Hibernate中二级缓存的配置
2011-10-18 00:26 1258我们知道 hibernate的session提供了一级缓存, ... -
Hibernate 生成策略属性
2011-10-17 14:01 1014"assigned" 主键由外部程序负责生 ... -
Exception in thread "main" java.lang.NoClassDefFoundError: javax/transaction/Syn
2011-10-16 18:37 2466Exception in thread "main& ... -
Hibernate缓存的分类
2011-10-16 11:25 1031Hibernate缓存分类: Session ... -
在Hibernate中使用日期函数获取数据库时间
2011-10-04 20:13 1673在Hibernate中使用日期函数获取数据库时间 ... -
Hibernate关联映射-one to one主键双向关联
2011-09-23 01:11 1317这次,继续上一次的实例。 记录1对1 主键双向关联. ... -
Hibernate关联映射-one to one 外键双向关联.
2011-09-22 00:28 1168说明:双向一对一,是一对多的特例,只需要在多的一方设置成 ... -
Hibernate关联映射-many to many 外键单向关联.
2011-09-20 01:18 1453多对多的实例很多,这里说一个比较简单的例子,而且还是单向 ... -
Hibernate关联映射-many to one 外键单向关联
2011-09-18 00:25 1957多个人可以对应一个地址,也就是所谓的多对一关系,many to ... -
Hibernate关联映射-one to to 主键单向关联
2011-09-17 23:23 1048这次介绍 还是以Person 和 Address 为例. ... -
Hibernate关联映射-one to many外键单向关联
2011-09-15 01:14 4588以下是说明,1对多 单向外键关联 的实例.同样以person ... -
Hibernate关联映射-one to one单向外键关联
2011-09-13 22:00 1650Hibernate的关联关系很多,也非常的复杂. 常见的有 ... -
org.hibernate.TransientObjectException: object references an unsaved transient i
2011-09-12 19:02 1486org.hibernate.TransientObjectEx ... -
org.hibernate.PropertyAccessException: Exception occurred inside getter of pack.
2011-09-12 18:54 6125报如下,异常是因为,在Person对象中.设置的属性类型 ... -
org.hibernate.MappingException: could not instantiate id generator
2011-09-10 14:32 2476在搭建Hibernate的环境时, ... -
配置hibernate.properties 或 hibernate.cfg.xml 文件时,在配置JDBC连接参数时,要配置数据库方言
2011-09-10 13:04 1932各数据库的方言 (配置 hibernate.cfg.xml 时 ... -
java.sql.SQLException: ORA-01747: user.table.column, table.column 或列说明无效
2011-08-17 11:53 7191今天,使用Hibernate框架,做映射时,添加数据时, ...
相关推荐
org.hibernate.id.IdentifierGenerationException 是一种常见的异常,通常是由于 <id> 元素配置不正确所致。<id> 元素缺少其子元素 <generator></generator> 的配置引起。解决方案是检查 <id> 元素的配置,确保其子...
1. org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save() 这个错误是由于在Hibernate的mapping文件中,<id>元素没有正确配置,缺少了其子元素的...
- **IdentifierGenerationException**:如果`<id>`元素没有正确配置,例如缺少`<generator>`子元素,或`class`属性设置不当(如`increment`, `identity`, `sequence`, `hi-lo`, `native`等),则会抛出此异常。...
4. `org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():` 此异常意味着在尝试保存对象前,对象的主键没有被正确设置。通常,这是由于在映射...
1. `org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save()` 这个异常通常是因为Hibernate在尝试保存对象时,发现对象的ID没有被正确地设置或生成...
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save() ``` **问题描述:** 当尝试保存一个实体对象时,如果该对象的`id`字段没有被手动赋值,...
**PropertyNotFoundException: Could not find a setter for property name in class hibernate.Hello_Bean** **异常描述:** 此异常表明Hibernate试图为实体类中的某个属性设置值时找不到对应的setter方法。 **...
- **配置示例**: 例如,在配置文件中可以指定`org.hibernate.dialect.MySQL5InnoDBDialect`,表示使用MySQL的InnoDB引擎相关的SQL方言。 #### 四、Hibernate控制下的POJO呈现的三种状态 - **4.1 transient(暂态)...
8. IdentifierGenerationException:这个异常出现在无法生成实体标识符的情况下,比如数据库序列值无效或者配置错误。 9. Struts HTTP Status 404:这个错误表示客户端请求了一个不存在的资源。这可能是因为web.xml...
3. HibernateException:Hibernate是一个开源的ORM(对象关系映射)框架,文档中提到的/Hibernate.cfg.xml not found异常表明Hibernate配置文件未找到。可能的原因包括配置文件未放置在项目的根目录下,或者配置文件...
` 如果数据库中不存在ID为100的记录,则会触发此异常。 **解决方案**: - 检查SQL语句是否正确,确保查询条件无误。 - 确认数据库中存在符合条件的数据记录。 ##### 2. 类找不到 (ClassNotFoundException) **问题...
19. **IdentifierGenerationException**:高位表(如用于生成唯一ID的表)未初始化。检查相关表是否已填充初始值。 20. **SQL语法错误**:在SQL语句中存在非法字符,如在表名中使用了非法字符“-”。用合法的下划线...
Java错误大全涵盖了从基础异常到特定开源框架如Hibernate和Struts中可能出现的异常情况。以下是一些关键知识点的详细说明: 1. **错误类型:**Java中的错误通常分为两种主要类型,异常(Exception)和错误(Error)...
19. **IdentifierGenerationException**:高位表(如用于生成ID的表)未初始化。检查生成ID的机制,确保表中有初始记录。 20. **SQL语法错误**:在XML映射文件中存在非法字符,如在表名中使用了非法字符。替换为...
19. **IdentifierGenerationException**:高位表(如用于生成唯一ID的表)未初始化。检查生成策略配置。 20. **SQL语法错误**:在XML映射文件中存在非法字符。例如,模块名中的"-"需要替换为合法的表名。 21. **...
- **示例**:`java.lang.NoClassDefFoundError: org/objectweb/asm/Type`。 - **解决方法**: - 添加ASM库到项目的依赖中。 - 确认版本兼容性。 #### 结论 以上列举了一些常见的Java错误及其处理方法。理解这些...
14. **HibernateException: /hibernate.cfg.xml not found**:Hibernate配置文件未找到。确保文件位于项目根目录,或正确配置了配置文件路径。 15. **ConstraintViolationException**:使用了错误的数据库。检查...
19. **IdentifierGenerationException**:高位表(如hi/lo算法)未初始化。确保在高位表中有初始记录。 20. **SQL语法错误**:在HQL或SQL语句中存在语法错误,如非法字符,需要修正。 21. **插入集合行失败**:在...
9. **无效的身份**:这通常与序列号冲突有关,特别是在并发环境中使用序列生成ID时。 10. **表名或列名不存在**:确保数据库中存在你引用的表,且数据已正确插入。 11. **不支持的类或版本错误**:这可能是由于...