需求如下: 一个人(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 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思
- ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM
- ¥15 划分vlan后不通了
- ¥20 用雷电模拟器安装百达屋apk一直闪退