SSH中遇到的一个奇怪问题,hibernate不映射version字段.

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>

        </

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值