Hibernate 一张表细化操作及表之间继承关系的映射配置

  1. Hibernate  一张表细化操作及表之间继承关系的映射配置
  2. 我们所做的是对一张表的内容把可以分类的字段提出来放到单独的类中是配置文件和对应类代码更清晰
  3. public class Cgoods {
  4.    private Integer id;  //公用的主键
  5.    private Catg catg;   //所有分类的属性在该类中
  6. public Catg getCatg() {
  7.     return catg;
  8. }
  9. public void setCatg(Catg catg) {
  10.     this.catg = catg;
  11. }
  12. public Integer getId() {
  13.     return id;
  14. }
  15. public void setId(Integer id) {
  16.     this.id = id;
  17. }
  18. }
  19. <component name="catg" class="com.vo.Catg">
  20. <property name="cname" column="cname" type="string">
  21.       </property>
  22. ......
  23. </component>
  24. 冗余字段的映射文件
  25. <discriminator column="冗余字段名" type="string"></discriminator>  //该字段不出现在映射类
  26. 中并放在主键之后
  27. <subclass name="继承类的类名" discriminator-value="指定默认值">  //该标签表示本表的继承关
  28.        <property name="继承类的属性" column="继承类的字段" type="继承类的类型"></property>
  29. </subclass>
  30. <joined-subclass name="继承类的类名"  table="表名">  //该标签表示另一张表的继承关系
  31.    <key column="该字段和父表主键字段一致"></key>
  32.    <property name="继承类的属性" column="继承类的字段" type="继承类的类型"></property>
  33. </joined-subclass>
  34. 附:
  35. <class name="com.vo1.JoinPkey" table="join_pkey"
  36.         <composite-id name="id" class="com.vo1.JoinPkeyId"
  37.             <key-property name="sid" type="java.lang.Integer"
  38.                 <column name="sid" /> 
  39.             </key-property> 
  40.             <key-property name="bid" type="java.lang.Integer"
  41.                 <column name="bid" /> 
  42.             </key-property> 
  43.         </composite-id> 
  44.         <property name="name" type="java.lang.String"
  45.             <column name="name" length="20" /> 
  46.         </property> 
  47.     </class
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值