在实际系统开发过程中经常遇到数据表之间中间表设计,对此我有一点想法。
在系统设计中为了消除冗余数据经常采用中间表的形式,把数据联系起来。数据之间传递和交互通过中间表实现。但是在平常应用hibernate进行系统开发时,经常通过访问数据表信息取得中间表关联获得另一张数据表的信息。在看过我以前开发发现如果存在中间表,访问中间表取得其他数据信息反而更容易。所以反思以前做的系统,发现设计上有很多不合理的地方,hibernate作为持久层的框架,对关系数据库支持非常到位。系统开发中,中间表是各个数据联系节点,通过访问节点获取数据。
用户表 uid uname
角色表 roleid role
用户角色表 id uid roleid
在hibernate设计中 用户角色表和用户表是单一的1vs1关系,用户角色表盒角色表实 nvs1关系。如果在做登录模块时一般访问用户表获得信息,然后再访问用户角色表,再通过用户角色表取得角色信息。其时我们直接访问用户角色表通过hibernate框架关联关系可以直接获得用户和角色信息,这样避免程序代码的开发。