网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,移动开发
本月文章推荐
.提高代码质量及字节码如何防止内.
.Weblogic70的配置简单手动配置we.
.Hibernate获得成功的十大理由.
.java基础 java中模式和框架的介绍.
.教你一简单办法用Java获得IP地址.
.Java 进阶:分享 Struts 多模块的.
.再谈JAVA学习入门.
.基于JDK5.0一些collection类的使.
.线程的理解.
.深入理解Struts 1.1及应用开发实.
.进行记录器测试以正确调用方法.
.Java传说之风云再起.
.jive2.6.4安装配置不完全手册.
.基于Java线程实现后台定时监控.
.新手入门:Java中的修饰词使用方.
.NetBeans 5 正式版发布.
.加速工具软件&总结.
.Tomcat中怎样设置虚拟目录.
.软件架构:可控的灵活性.
.用Java测试网络代码.

Hibernate继承映射时错误的解决方法

发表日期:2008-1-5



  借助于Hibernate强大的O/R Mapping能力,我们能够通过discriminator轻易地将一颗继续树映射到一个表中,通过discriminator确定具体映射的子类。

  在设置@hibernate.discriminator column="type" type="integer"后,启动Hibernate报错:

Could not format discriminator value to SQL string

  搜索Hibernate官方文档后发现问题,原来Hibernate默认的discriminator的type是String,当设置discriminator的type为integer后,需要为父类也设置@hibernate.class table="TABLE_NAME" discriminator-value="not null",否则,Hibernate默认的discriminator-value是完整的类名,在转换String到int时造成NumberFormatException。

  最后运行XDoclet,生成hbm文件:

<?XML version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.crackj2ee.example.AbstractClass" table="TABLE_NAME" discriminator-value="not null">
<id name="id" column="id" type="Java.lang.Long" unsaved-value="null">
 <generator class="increment"/>
</id>
<discriminator column="type" not-null="true" type="integer"/>
 <subclass name="com.crackj2ee.example.SubClass1" discriminator-value="1">
 <subclass name="com.crackj2ee.example.SubClass2" discriminator-value="2">
</class>
</hibernate-mapping>

上一篇:Hibernate的缓存机制介绍 人气:980
下一篇:Java项目中使用Hibernate处理数据 人气:598
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐