Hibernate继承映射时错误的解决方法
2007-05-02 00:12
316 查看
借助于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> |
相关文章推荐
- Hibernate继承映射时错误的解决方法
- Hibernate继承映射的“Could not format discriminator value to SQL string”错误解决方法
- Hibernate继承映射的“Could not format discriminator value to SQL string”错误解决方法
- Hibernate继承映射的“Could not format discriminator value to SQL string”错误解决方法
- Hibernate:继承映射“Could not format discriminator”错误解决
- Hibernate继承映射“Could not format discriminator”错误解决
- docker 端口映射iptables: No chain/target/match by that name错误解决方法
- javax.naming.NoInitialContextException hibernate错误的解决方法
- Hibernate错误解决方法
- org.hibernate.id.IdentifierGenerationException错误解决方法
- 出现 org.hibernate.NonUniqueObjectException 错误的解决方法
- The method list(String, Object[]) is ambiguous for the type BaseHibernateDao<M,PK>错误解决方法
- Hibernate 实体类 映射文件使用注解方式 经典报错以及解决方法
- org.hibernate.TransactionException: JDBC rollback failed错误解决方法
- Maven项目总是出现org.hibernate.HibernateException: /hibernate.cfg.xml not found错误的解决方法
- hibernate实体类构造方法内含有Timestamp类型变量时"Unable to locate approprite constructor"错误解决方法
- org.hibernate.QueryException: could not resolve property错误的解决方法
- java.lang.IllegalArgumentException: sessionFactory or hibernateTemplate is required 错误解决方法
- J2EE编程心得-使用Hibernate出现的错误及解决方法 更新中...
- org.hibernate.id.IdentifierGenerationException错误解决方法