`
liutjedu
  • 浏览: 46638 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

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>

        </

分享到:
评论
2 楼 codeutil 2007-01-31  

version 属性明确是要用Integer等数字类型来做java type的。
仔细去看Hibernate 的文档吧


1 楼 JavaFlasher 2007-01-31  
很多关键字都要慎用。这种问题我也遇到过。

相关推荐

    ssh(structs,spring,hibernate)框架中的上传下载

     此外lazy="true"说明地返回整个Tfile对象时,并不返回fileContent这个字段的数据,只有在显式调用tfile.getFileContent()方法时才真正从数据库中获取fileContent的数据。这是Hibernate3引入的新特性,对于包含重量...

    SSH(Struts1.0+Spring+Hibernate)框架集成笔记

    - **Hibernate**:一个ORM(Object Relational Mapping)框架,可以将Java对象映射到数据库表及其字段上,从而实现对象和关系数据之间的转换。 #### 三、框架环境搭建顺序及注意事项 - **环境搭建顺序**:推荐的...

    Ecplise+Maven搭建SSH框架

    在IT行业中,SSH(Struts2、Spring、Hibernate)是一个非常经典的Java Web开发框架组合,它结合了MVC模式的Struts2、依赖注入的Spring以及对象关系映射的Hibernate,为开发者提供了一套高效、稳定的开发环境。...

    ssh三大框架的整合开发步骤

    2. **编写Hibernate映射文件**: - 映射文件用于描述Java类与数据库表之间的映射关系。 - 示例映射文件代码如下: ```xml &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;!DOCTYPE hibernate-mapping PUBLIC "-//...

    myeclipse ssh

    如果遇到问题,如作者所述,可以手动创建实体类和映射文件。`User` 类的代码如下: ```java package com.bean; public class User { public Integer id; public String firstname; public String lastname; ...

    基于SSH的基础架构设计.doc

    在IT行业中,SSH(Struts、Spring、Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。SSH框架结合了MVC(Model-View-Controller)模式,实现了模型、视图和控制器的分离,提升了...

    ssh整合小实例学习

    在Hibernate中,需要为每个实体类定义一个`.hbm.xml`文件,用以指定表名和字段映射关系。同时,在实体类中还需要定义对应的属性和方法,以便进行CRUD操作。 ```xml &lt;!-- User.hbm.xml --&gt; &lt;?xml version="1.0" ...

    MyEclipse下SSH配置详细步骤及异常处理

    - **Hibernate 映射问题**:检查实体类与映射文件是否匹配,确保字段类型一致; - **数据库连接失败**:检查 `applicationContext.xml` 中的数据源配置是否正确,以及数据库是否正常运行; - **依赖冲突**:检查 `...

    Hibernate 参考文档

    - **composite-id联合ID**:当实体类具有多个主键字段时的映射方法。 - **识别器(discriminator)**:用于区分继承体系中的不同子类。 - **版本(version)**:乐观锁实现策略之一。 - **时间戳(timestamp)**...

    ssh将list自定义转化为json

    在SSH(Spring、Struts2、Hibernate)框架中,我们经常需要处理各种数据结构,比如集合List,并将这些数据转化为JSON格式以便于前端展示或进行API交互。JSON(JavaScript Object Notation)是一种轻量级的数据交换...

    struts2+hibernate+spring

    Struts2、Hibernate与Spring(通常简称为SSH)是Java Web开发中的三个流行框架。它们的结合可以极大地提高Web应用的开发效率和可维护性。具体来说: - **Struts2**:用于构建MVC架构的应用程序,它负责处理用户的...

    Java实训教程 Java软件开发实战 Java开发框架 SSH在Intelij IDEA中的集成 共34页.pptx

    在这个过程中可能会遇到缺少包的情况,可以暂时忽略这些警告,之后再统一解决。 - **集成JPA**:最后,重复同样的过程,添加JPA模块。添加JPA后,还需要在项目中添加相关的文件。 - **POM文件配置**:通过编辑项目...

    详解Java的Hibernate框架中的搜索工具的运用

    在Java Web开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了数据库操作,使得开发者能够以面向对象的方式处理数据。SSH(Struts、Spring、Hibernate)是经典的三大框架组合,其中Hibernate负责...

    struts2+json

    当我们在Struts2框架中整合SSH(Spring、Struts2、Hibernate)时,可能会遇到与JSON相关的数据处理问题。下面我们将深入探讨Struts2整合JSON的相关知识点。 首先,Struts2提供了一种内置的JSON支持,允许我们直接将...

    海辉面试题

    Cron表达式是用来定义任务执行时间的一种方式,由六个字段组成: - 秒(0-59) - 分钟(0-59) - 小时(0-23) - 日(1-31) - 月(1-12) - 星期(0-6) 例如,“0 0/15 * * * ?”表示每15分钟执行一次。 #### 4....

Global site tag (gtag.js) - Google Analytics