您的位置:首页 > 其它

Hibernate的对象-关系映射文件中出现的问题

2007-12-09 15:51 453 查看
有时候在对象-关系映射文件中要对持久化类中的一些字段进行转型,利用type属性将字段映射成Hibernate中的类型,但是如果在持久化中本身就是一个String类型,再到对象-关系映射文件中用type属性声明在Hibernate类型中为String类型,那么在Hibernate初始化的时候会出现一个异常:像下面这样


[java] Initial SessionFactory failed: org.hibernate.MappingException: Could


not determine type for: String, for columns: [org.hibernate.mapping.Column(Incr


ement_Name)]

说在指定的String类型的列上不能确定类型,

这是由于在一个String类型的字段上指定type属性为String而此发的,但是在用hbm2java或者hbm2ddl生成Java源文件或数据库Schema的时候却不会出错,这是在Hibernate3.2中出现的一个问题,用工具hbm2java的时候同样要在Hibernate初始化的时候加载对象-关系映射文件,却不出错,在运行的时候加载对象-关系映射文件就报出异常,其实这不是Hibernate本身的问题,在用工具hbm2java的时候用到的hibernate3.jar文件和运行的时候用到的hibernate3.jar是不同的两个jar文件,可以想到在这两个文件中解析XML的方式和验证机制并不相同,

要避免在运行的时候出现这个问题,可以在对象-关系映射文件中去掉type属性,就没有问题了

再开始是这样认为的,后来再仔细看书才知道在Hibernate的映射类型里面String对应的是string,而不是String,呵呵, 有时候一点不仔细会报出一大堆的异常,所以还是小心为好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐