需求如下: 一个人(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,其它通过一对一关联的实现,延迟加载!
hibernate 这样设计是否合理? one-to-one 延迟加载!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- iteye_12540 2011-08-11 09:34关注
我认为你整个设计有问题。教师(teacher),又是经理(manager),又是销售人员(seller)这些都是角色。
实际上你这个问题是人和角色的多对多关联。我建议是人一个对象,角色一个对象。教师经理都是角色对象的子类。Hibernate上面只要人和角色多对多映射就是。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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 没法显示