joolu
2009-07-19 10:37 阅读 301
已采纳

摇奖系统领域模型

小弟新学,多多指教。

 

摇奖系统领域模型:User(用户),Award(奖品)。双向多对多关联,ORM用hibernate实现。

 

类图设计

hibernate在运行时,会生成3张表,分别为:user,award,user_award。

 

现在客户提出要求:取得User获奖时间。  在传统的面向数据库设计中,很自然的办法是在user_award中添加一个字段time。然后在程序中用sql语句查询得到。 但是在面向对象的设计中,怎么实现这个功能?同样需要在user_award中插入字段吗?如果是,怎么获取这个字段呢?(用HQL的话)。


问题补充:
由于是多对多,我觉得两个一对多更适合。看来多对多在实践开发中并不实用。
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    fdsafds fdsafds 2009-07-19 15:50

    你可以这样去思考,
    建立两个一对一的关系
    1.用户与抽奖结果 (一个用户只可能与一个抽奖结果有关)
    2.奖品与抽奖结果 (一个奖品只可能与一个抽奖结果有关)

    抽奖结果Class

    public class Result{
    private int resutlId;
    private User user;
    private Award award;
    private Date time;

    get ...
    set ...

    }

    Result 基于 user_award 表 ,HQL自然就很容易写的,不知是否清楚.

    点赞 评论 复制链接分享

相关推荐