网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.JAVA规则中级篇.
.Java 和 XML 为何将成功.
.名字的隐藏.
.String转换成Integer源码分析.
..Net和Java应融合.
.Infinity 属性.
.图解JDeveloper 10g快速开发会话.
.JAVA基础知识(5).
.按位右移运算符 (>>).
.Java性能的优化(下)(转).
.Java程序设计基础之异常处理.
.java认证的目的,题目方式和步骤.
.setUTCHours 方法.
.JAVA教程:解析Java的多线程机制.
.Java编程讨论:关于什么叫面向接.
.J2SE API读取Properties文件六种.
.Java的多进程运行模式分析.
.虚拟机概论(六)——JAVA虚拟机.
.Eclipse Forms设计漂亮UI之高级组.
.创建struts1.2 + Hibernate3.0 W.

论两个关于*.hbm.xml配置异常的解决

发表日期:2008-1-5


    最近在做一个小的web程序时,碰到了一些小问题,在经过小弟的一番努力后都一一化解了,欣喜之余就想把这些解决心得择取一二与大家共享。这些问题都比较初级,高手就不必看了,以免浪费时间,呵呵。
异常1:*.hbm.XML 配置文件中<id>元素配置异常
抛出异常描述:
org.springframework.orm.hibernate3.HibernateSystemException: ids for this cla
ss must be manually assigned before calling save(): com.ebupt.ncsp.assist.ser
vice.department.domain.Department; nested exception is org.hibernate.id.Ident
ifierGenerationException: ids for this class must be manually assigned before
 calling save(): com.ebupt.ncsp.assist.service.department.domain.Department
org.hibernate.id.IdentifierGenerationException: ids for this class must be ma
nually assigned before calling save(): com.ebupt.ncsp.assist.service.departme
nt.domain.Department

出错或异常原因:
    <id>元素配置不正确,<id>元素缺少其子元素<generator></generator>的配置。
解决方法:
<id>元素映射了相应数据库表的主键字段,对其子元素<generator class=””>,其中class的取值可以为increment、identity、sequence、hilo、native……等,更多的可参考hibernate 参考文档,一般取其值为native 。
在配置* .hbm.xml文件时我没有使用自动生成工具,直接手动地配置,这也是我一时粗心,加之对hibernate参考不是很熟,只是依葫芦画瓢,建议大家(新手)多看看参考文档,是很有帮助的。

异常2:*.hbm.xml 配置文件中<id>元素配置异常
抛出异常描述:
org.springframework.orm.hibernate3.HibernateSystemException:exception setting property value with CGLIB(set hibernate.cglib.use-reflection-optimizer=false for more info) setter of com.info.beran.com.SetComCode nested exception is org.
hibernate.
PropertyAccessException: setting property value with CGLIB(set hibernate.cglib.use-reflection-optimizer=false for more info)

出错或异常原因:
1.    数据库表中的字段(一般都是数值型的字段)的类型与配置文件中所配置的类型不一致。
2.    在数据库中,数值型字段的值为空null。
相应的解决:
1.    将该字段在配置文件中的类型修改成一致的类型都为Integer。
2.    因为null不能赋值给原始类型,所以在配置数据库中数值型的字段类型(long、int、tinyint)都映射成对象类型Integer问题就解决了。

其实上述的两个异常在使用自动生成配置文件的工具来映射时是不会碰到的,我在这里举出这两个例子希望对大家能够有所帮助。
上一篇:Java和C++版本的简单Stack程序 人气:491
下一篇:Java应用利器组合:Ant+JUnit+Cobertura 人气:669
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐