基于Spring boot +Sping+ JPA+hiberante的用户表设计问题?

Jerry_liu20080504 2018-12-09 06:35:00
我想实现一个基于Spring boot +Sping+ JPA+hiberante的用户+权限+操作的管理系统。(不设置角色)

开始详设计的是这样的:

也就是用户访问某个模块,然后会有这个模块的增删改查等操作(操作种类可能增加)中的一种或者几种。

后来想想为了能够扩展方便,我把用户、权限(也就是模块号等信息)、操作分别建立三张表。
我自己分析认为,以上三张表之间应该是多实体之间的关联,也就是三元多对多关系,三张表的主键作为中间表的联合主键。由于小弟初学hibernate,看到的例子多数都是二元的manytomany操作。所以,我想问的是,hibernate里如何实现这种三元多对多的实现?中间表如何生成的?(或者不用生成?)望给出具体代码或者伪代码?

我自己初步的想法是,两两之间manytomany,不知道对不对?
另外,用不用双向关联?什么情况下单向关联,什么情况下使用双向关联?

望大神们不吝赐教,先谢过了!
...全文
219 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jerry_liu20080504 2018-12-12
  • 打赏
  • 举报
回复
引用 4 楼 ET最终珍藏版 的回复:
我就想问,hibernate 用着舒服么。

刚学,您建议用啥?
ET最终珍藏版 2018-12-11
  • 打赏
  • 举报
回复
我就想问,hibernate 用着舒服么。
maradona1984 2018-12-10
  • 打赏
  • 举报
回复
三张表怎么够?
还需要用户与模块,用户与操作的中间表,多对多的关系需要中间表来维护,这样你的代码上的关联都是一对多,中间表1
maradona1984 2018-12-10
  • 打赏
  • 举报
回复
引用 2 楼 Jerry_liu20080504 的回复:
[quote=引用 1 楼 maradona1984 的回复:]
三张表怎么够?
还需要用户与模块,用户与操作的中间表,多对多的关系需要中间表来维护,这样你的代码上的关联都是一对多,中间表1


我想中间表最后应该是这个样子的:


不知道您说的是不是这个意思?能给出具体的例子最好了,链接也行。多谢[/quote]
这个看你如何设计了,只有一张表和两张表的业务意图是不一样的,有点小细节不一样,一张中间表重在模块和操作之间有关系(比如必须先进入模块,才能查到操作这种设计),两张中间表说明模块和操作两者相对独立
Jerry_liu20080504 2018-12-10
  • 打赏
  • 举报
回复
引用 1 楼 maradona1984 的回复:
三张表怎么够?
还需要用户与模块,用户与操作的中间表,多对多的关系需要中间表来维护,这样你的代码上的关联都是一对多,中间表1


我想中间表最后应该是这个样子的:


不知道您说的是不是这个意思?能给出具体的例子最好了,链接也行。多谢

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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