iteye_5975 2011-08-11 09:34
浏览 235
已采纳

hibernate 这样设计是否合理? one-to-one 延迟加载!

需求如下: 一个人(person),具有多种身份(Identity1).
如一个人既是教师(teacher),又是经理(manager),又是销售人员(seller).也可能是其中一种,或两种. 而且字段差距较大.(我其中一个项目是person具有10种身份)

hibernate数据库设计应如何设计:
我设计如下,两种情况;
(1) person 与teacher,person与manager ,person与seller 分别是一对一关联(主键关联).
(2) person 是父类,其它通过join-subclass继承实现.

但我现在存在一个问题. 查询person时,会把 相关联的  teacher,manager,seller.  通过(left outer join)一并查询出来,不能实现延迟加载.

请问大家有什么好的设计?或好的意见?能实现延迟加载. 就是我查询person,其它通过一对一关联的实现,延迟加载!

  • 写回答

6条回答 默认 最新

  • iteye_12540 2011-08-11 09:34
    关注

    我认为你整个设计有问题。教师(teacher),又是经理(manager),又是销售人员(seller)这些都是角色。
    实际上你这个问题是人和角色的多对多关联。我建议是人一个对象,角色一个对象。教师经理都是角色对象的子类。Hibernate上面只要人和角色多对多映射就是。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示