给个实例
主要是表的映射文件
Titem.java
package cn.dlt.demo02;
/**
* Titem generated by MyEclipse Persistence Tools
*/
public class Titem implements java.io.Serializable {
// Fields
private String id;
private String category;
private String name;
private String manufacturer;
private String regionCode;
private Integer pageCount;
set...getter....}
Tbook.java
package cn.dlt.demo02;
public class Tbook extends Titem {
private Integer pageCount;
}
Tdvd.java
package cn.dlt.demo02;
public class Tdvd extends Titem {
private String regionCode;
}
映射文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="cn.dlt.demo02.Titem" table="titem" catalog="test">
<id name="id" type="java.lang.String">
<column name="id" length="32" />
<generator class="assigned" />
</id>
<discriminator column="category" type="java.lang.String"></discriminator>
<property name="name" type="java.lang.String">
<column name="name" length="20" not-null="true" />
</property>
<property name="manufacturer" type="java.lang.String">
<column name="manufacturer" length="20" not-null="true" />
</property>
<subclass discriminator-value="1" name="cn.dlt.demo02.Tbook">
<property name="pageCount" type="java.lang.Integer" column="pageCount"></property></subclass>
<subclass name="cn.dlt.demo02.Tdvd" discriminator-value="2">
<property name="regionCode" type="java.lang.String" column="regionCode"></property></subclass>
</class>
</hibernate-mapping>
主要是三种类型共享一个表 面向对象设计