Hibernate继承映射时错误的解决方法
发布时间:2006-03-03 13:58:48 来源:blog 网友评论 0 条 借助于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文件:
在设置@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> |
- 推荐阅讯
- Eclipse中的IAdaptable分析
- AJAX in Action
- Spring2.0技巧之活用FactoryBean
- OpenGL编程轻松入门之坐标变换
- 看看如何在Struts应用中施展AJAX魔法
- Ajax并不神秘:揭下各种Ajax控件和类库的小
- Borland称12家公司有意接收Delphi和JB
- 最后的侠客——当Borland已成往事
- Oracle 的数据库的数据备份与恢复
- 杀毒软件技术之静态查毒引擎的实现
- 阅读排行
- 1..net页面间的参数传递简单实例
- 2.VC++与Matlab混合编程之引擎操作详解
- 3.Oracle数据库数据对象分析
- 4.Eclipse3.2+Tomcat5.5.17+Oracle9配置
- 5.Oracle数据库中索引的维护
- 6.在Oracle的网络结构中解决连接问题
- 7.Oracle数据安全面面观
- 8.Oracle数据库的ORA-00257故障解决过程
- 9.Oracle数据库备份与恢复的三种方法
- 10.Oracle与SQL Server在企业应用中的比较
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
