我敢肯定这可以回答,但不完全知道在哪里。
前言:
我们的解决方案是计费解决方案。应用程序设计非常简单,我们为企业创建网络商店并向企业主提供凭据。
企业主可以登录并创建相关产品、类别等。他们还可以注册他们可能想要用于计费的设备。
可以使用 Web 界面创建主实体,而计费发生在设备的本机应用程序上。
数据库表:
BUSINESS: id, name etc. - Business Info Table
CATEGORY: id, business_id, name etc. - Product Categories
PRODUCT: id, category_id, name etc. - Products
应用:
基于 Spring ROO 的 Web 应用程序。Spring MVC 作为 GUI 技术
问题:
如前所述,所有者必须使用他们的凭据登录网络商店。因此,当他们开始创建实体时,webapp 知道相关的业务 ID,该 ID 透明地存储在所有类别、产品等中。
在创建产品时,用户可以选择产品可能属于的类别。
问题是:将 business_id 存储在产品表中是个好主意吗?因为我们只会在生成产品 GUI 时填充与业务相关的类别。对于在 GUI 中强制执行此类规则的所有关联表,情况也是如此。
有些人可能知道,ROO 采用为每个 CRUD 操作创建服务的方法。因此,如果我们决定不将 business_id 与产品一起存储,那么如果有人尝试使用不属于相关业务的类别 id 调用服务,则可以规避业务规则。或者,保持数据库设计不变并专注于保护服务是一个好主意。
如果您有任何相关的利弊,也请在此处发布。
提前致谢 :)!!!!