精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-31
2007.01.31<o:p></o:p> 遇到一个问题,弄了一天了,终于发现了,现在写出来,给大家共享。<o:p></o:p> 错误如下:<o:p></o:p> 2007-01-31 15:33:55,024 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] Destroying singletons in factory {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [sleb,sessionFactory,transactionManager,proxyTemplate,riskDutyFactorService,riskDutyFactorDAO,riskDutyService,riskDutyDAO]; root of BeanFactory hierarchy}<o:p></o:p> 2007-01-31 15:33:55,024 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed<o:p></o:p> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.ClassCastException: null<o:p></o:p> java.lang.ClassCastException<o:p></o:p> at org.hibernate.tuple.PropertyFactory.buildVersionProperty(PropertyFactory.java:81)<o:p></o:p> at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:147)<o:p></o:p> <o:p> </o:p> 从报错来看,是出现了ClassCastException异常,主要是在解析hbm.xml文件的时候,出现该异常的,由于到报错信息不熟悉,因此我就把文件全部恢复到错误前的状态,一个文件一个文件增加后判断出来的,不过好的是判断还是正确的。呵呵!下面是详细的解释。<o:p></o:p> <o:p> </o:p> 以前定义的表格SQL语句如下,大家注意黄色部分<o:p></o:p> create table risk<o:p></o:p> (<o:p></o:p> ID INTEGER not null,<o:p></o:p> riskCode CHAR(10) not null,<o:p></o:p> riskName VARCHAR(120) not null,<o:p></o:p> version CHAR(10),<o:p></o:p> riskType CHAR(16) not null,<o:p></o:p> paymentType CHAR(20),<o:p></o:p> launchTime DATE,<o:p></o:p> circTime DATE,<o:p></o:p> Actuary CHAR(16),<o:p></o:p> language CHAR(1),<o:p></o:p> useState CHAR(1) default '0',<o:p></o:p> riskDutyID INTEGER,<o:p></o:p> constraint P_risk primary key (ID)<o:p></o:p> );<o:p></o:p> 则在hibernate中的映射文件如下,大家注意黄色部分<o:p></o:p> <hibernate-mapping><o:p></o:p> <class name="com.sleb.po.Risk" table="RISK" schema="XFLIU"><o:p></o:p> <id name="id" type="integer"><o:p></o:p> <column name="ID" /><o:p></o:p> <generator class="sequence" /><o:p></o:p> </id><o:p></o:p> <version name="version" type="string" column="VERSION" /><o:p></o:p> <many-to-one name="riskduty" class="com.sleb.po.Riskduty" fetch="select"><o:p></o:p> <column name="RISKDUTYID" /><o:p></o:p> </many-to-one><o:p></o:p> <property name="riskcode" type="string"><o:p></o:p> <column name="RISKCODE" length="10" not-null="true" /><o:p></o:p> </property><o:p></o:p> <property name="riskname" type="string"><o:p></o:p> <column name="RISKNAME" length="120" not-null="true" /><o:p></o:p> </property><o:p></o:p> <property name="risktype" type="string"><o:p></o:p> <column name="RISKTYPE" length="16" not-null="true" /><o:p></o:p> </property><o:p></o:p> <property name="paymenttype" type="string"><o:p></o:p> <column name="PAYMENTTYPE" length="20" /><o:p></o:p> </ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-31
很多关键字都要慎用。这种问题我也遇到过。
|
|
返回顶楼 | |
发表时间:2007-01-31
version 属性明确是要用Integer等数字类型来做java type的。 仔细去看Hibernate 的文档吧 |
|
返回顶楼 | |
浏览 3564 次