【发布时间】:2011-02-27 11:53:20
【问题描述】:
我们有一个电子商务应用程序的数据库,我们正在使用 JPA 2.0。
我们有这三个表:products(id, code, name, description, price);已售产品(id,数量,product_id);订单(id、日期、状态、评论)。
这是我们的问题:当我们从 products 表中删除一个产品时,我们在 soldproducts 中遇到了一个约束问题,因为 product_id 列引用了一个产品。我们想删除产品,但我们想访问产品详细信息。
我们想在产品表中添加一个额外的列,比如可用性,它告诉我们产品是否可用。使用这种方法,如果我们从应用程序中删除一个产品并且该产品不是从已售产品中引用的,我们只是将这个额外的列更新为不可用,我们不会删除它。否则,我们从表中删除产品。但我们不确定这是否是最好的方法。
您认为,对于这种特定情况,最好的设计方法是什么?
【问题讨论】:
标签: java database database-design jpa-2.0