关于SSH框架下多对多关系的数据库设计和实体类怎么写?

frankzx 2014-05-06 09:53:14
比如说订单和商品,用户和用户收藏的商品这两个都是多对多关系。那么数据库设计应该是:

订单表(订单ID,用户ID,订单时间,.......),
商品表( 商品ID,商品名,价格,...),
订单商品对应表(订单ID,商品ID,下单时的成交价格,数量......)

之所以要存下单时的价格是因为如果从商品表中读取的话只能是商品现在的价格,那么下订单的价格可能是不一样的,所以要存一下。


但是我的问题是:这三张表都要在model层写三个对应的实体类吗?还是说只要写订单类和商品类,然后设置ManyToMany的注解即可?如果只写订单类和商品类那么这个下单时的价格在类里就没有对应的字段了啊?

同样的,对于用户和用户商品收藏之间也有一个收藏商品的时间这个要存储,就这就上面存储下单时商品价格问题变得一样了。

菜鸟,对于Hibernate一知半解。所以想请教大神们一下,具体这些表在model层应该写哪些类,怎么写?按说应该不需要一对一的啊。从面向对象的思想来说商品订单对应关系完全算不上一个对象,需要写一个对应的类吗?如果不写的话,问题就更复杂。总是想不通,希望有人可以详细解释一下,谢谢。
...全文
342 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
点滴寸土 2014-05-08
  • 打赏
  • 举报
回复
表是表,关系是关系。要用到什么表,基本上就得建对应的表,然后再表里的字段要进行说明对应的外键、约束等。
小兵雄霸 2014-05-08
  • 打赏
  • 举报
回复
多对多要在数据库中有个中间表也就是订单商品对应表,实体类里面用hashmap集合
小兵雄霸 2014-05-08
  • 打赏
  • 举报
回复
实体类里面用两个hashmap集合,例:private Set<Appeal> appeals=new HashSet<Appeal>();
frankzx 2014-05-07
  • 打赏
  • 举报
回复
引用 2 楼 zhulin2012 的回复:
当当网 http://bbs.csdn.net/topics/390734751 里面有你类似的需求
你这个Item和product有什么区别?
不是太高的手 2014-05-07
  • 打赏
  • 举报
回复
当当网

http://bbs.csdn.net/topics/390734751

里面有你类似的需求
frankzx 2014-05-07
  • 打赏
  • 举报
回复
没人解答一下嘛

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧