继承映射关系中如果映射到一张表中,则父类子类都必须加上discriminator-value属性,否则会报此错误,另:discriminator-value类型默认是String类型的;
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.xx.domain"> <!-- 继承关系之映射成一张表 --> <!-- 父类的也必须加上discriminator-value属性 --> <class name="Animal" table="t_animal" discriminator-value="0"> <id name="id"> <generator class="native" /> </id> <discriminator column="type" type="int"/> <property name="name" not-null="true" /> <subclass name="Pepole" discriminator-value="1"> <property name="sex" ></property> </subclass> <subclass name="Dog" discriminator-value="2"> <property name="age" ></property> </subclass> </class> </hibernate-mapping>