lzz360的专栏
如果你现在不搞电子商务,那么五年后你会后悔的
继承关系整个继承数映射到一张表
分类: javaWeb(hibernate) 2013-12-18 14:45 191人阅读评论(0) 收藏举报
hibernate
继承关系整个继承数映射到一张表(有点执行效率比较高因为只对一张表操作,但是缺点就是浪费空间)
比如:Employee->Skill,Salles
=======================
<hibernate-mapping>
<class name="Employee" discriminator-value="0">
<id name="id">
<generator class="native"/>
</id>
<!-- 这个是鉴别器 hibernate用于区分是那种子类,所以上面就要设置鉴别器的值来区分它们-->
<discriminator column="type" type="int" />
<property name="name"/>
<many-to-one name="depart" column="depart_id" />
<!-- 下面是employee的子类-->
<subclass name="Skiller" discriminator-value="1">
<property name="skill" />
</subclass>
<subclass name="Sales" discriminator-value="2">
<property name="sell" />
</subclass>
</class>
</hibernate-mapping>
==========================测试
static Department add(){
Session s = null;
Transaction tx = null;
try{
Department depart = new Department();
("depart name");
//普通员工
Employee emp1 = new Employee();
(depart);
("emp1 name");
//技术员
Skiller emp2 = new Skiller();
(depart);
("emp2 name");
("skill");
//销售员
Sales emp3 = new Sales();
(depart);
("emp name3");
(100);
Set<Employee> emps = new HashSet<Employee>();
(emp1);
(emp2);
(emp3);
(emps);
s
继承关系 整个继承数映射到一张表 来自淘豆网www.taodocs.com转载请标明出处.