关于hibernate 映射hbm.xml的问题

kehan628 2015-04-02 09:18:36
基础类BaseEntity:
private String id;
private Date createDate;
private Date modifyDate;


下面有20+个继承类
1.EntSummary
public class EntSummary extends BaseEntity {

private String sumImage;//示例图片地址
private String sumIndex;//显示顺序

private String sumType;//类型 0公司简介 1五大创新 2服务流程 详细参考数据字典表
private String sumStatus;//状态 0正常(默认) 1失效 2过期
private String sumDescription;//描述

2.EntItems
public class EntItems extends BaseEntity {

private String itemName;//项目名称
private int itemPrice;//原价格,正常价格
private int itemSalePrice;//现价格,特惠价格
private String itemDescription;//描述
private String itemImage;//logo图片,是个路径地址
private String itemStatus;//状态 0正常(默认) 1失效 2过期 3特价

3.EntTrades
public class EntTrades extends BaseEntity {

private String modCode;//车辆型号
private String itemName;//项目名称
private int tradePrice;//价格

private String memName;//姓名
private String memPhone;//电话
private String memAddress;//地址
private String memMessage;//客户留言 100字
private String memCoupon;//优惠券编号


等等。还有很多

请问 BaseEntity EntTrades EntSummary 这个几个表的映射文件 *.hbm.xml 应该怎么写?
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
尘埃Emma 2015-04-02
  • 打赏
  • 举报
回复
你的基础类里的字段 相当于 在各个子类对应的表中都存在,所以hbm.xml文件中除了写子类中的字段之外,再加上父类中的两个字段
浮云若水 2015-04-02
  • 打赏
  • 举报
回复
直接用eclipse的自动映射生成文件 方便简单快捷 不会出错
ligang819350766 2015-04-02
  • 打赏
  • 举报
回复
引用 1 楼 a276202031 的回复:
直接用eclipse的自动映射生成文件 方便简单快捷 不会出错
英雄所见略同啊
microhex 2015-04-02
  • 打赏
  • 举报
回复
有三种方案可供选择, 1.假设A为父类,B、C都为继承A的子类,使用的@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) 为每一个类(不管是子类还是父类)创建一张表,这种方法的关键是要保证ID不能重复,hibernate中的做法是另外建一张存储ID的表M,每一次添加A类或A的子类时候,都将表M中的ID值加1,然后拿出。 2.使用一张表装下父类和子类中的所有属性,当然该表中存在大量的冗余,使用的是@DiscriminatorColumn和@DiscriminatorValue来标识不同的类。 3.使用的是join方式 .一张总表包含父类的基本定义,不同的子类在不同的表中,只包含独有的属性,但存在对总表的引用。 具体请看:http://blog.csdn.net/u013762572/article/details/43113449

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧