joolu 2009-07-19 10:37
浏览 313
已采纳

摇奖系统领域模型

小弟新学,多多指教。

 

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

 

类图设计

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

 

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


问题补充:
由于是多对多,我觉得两个一对多更适合。看来多对多在实践开发中并不实用。
  • 写回答

1条回答 默认 最新

  • 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自然就很容易写的,不知是否清楚.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?