10.继承映射多表设计

 
将子类设计成单独的表格
 
 
映射文件:
< joined-subclass name ="Skiller" table ="skiller" >
       < key column ="emp_id" />
       < property name ="skill" />
     </ joined-subclass >
     < joined-subclass name ="Sales" table ="sales" >
       < key column ="emp_id" />
       < property name ="sell" />
     </ joined-subclass >
 
这样设计的表,如果查询起来将涉及到多表联合查询,效率低
 
再一种设计如下:
混合使用
 
映射文件需要打开鉴别器,
技术员的属性仍然需要鉴别器,而sales则不需要,而是指定subclass字段
 
< subclass name ="Sales" discriminator-value="2" >
       < join table ="sales" >
         < key column ="emp_id" />
         < property name ="sell" />
       </ join >
     </ subclass >
且在Hibernate配置文件中增加映射
 
另外一种:每个具体类一张表(union-subclass)
 
映射文件:
< union-subclass name ="Skiller" table ="skiller" >
       < property name ="skill" />        
     </ union-subclass >
     < union-subclass name ="Sales" table ="sales" >
       < property name ="sell" />        
     </ union-subclass >
使用这种方式时,主键id必须修改为:hilo
 
设计时,尽量使得表的数目小于类的数目,使得数据操作高效

你可能感兴趣的:(职场,映射,休闲,表)