gpt4 book ai didi

java - 如何在业务流程过程中捕获数据库中实体的状态?

转载 作者:行者123 更新时间:2023-12-01 05:49:00 26 4
gpt4 key购买 nike

我要求那些已经处理过这种情况的人分享他们的经验。

用例:

业务订单进入系统 > 变为 Activity 状态 > 订单被接受或过期 > 待处理 > 是否成功履行。

你看到了吗?该实体至少有 4 个状态。我正在做的是,我有一个主表“Order”,然后有四个仅包含 orderId( Activity 、过期、待处理、已完成)的其他表,并且在查询不同状态的订单时我正在执行 JOINS。

这样Order这个大表只能读不能写,所以从性能的角度来看是非常有效的...

针对此用例您有哪些技术?

最佳答案

您是对的,由于性能原因(写入消除),此用例需要额外的表。但是有四个表可能会在后续迭代中带来很多维护麻烦。

我可能只创建一个 OrderStatusCode 表(orderId、statusId),您可以像这样进行 JOINS

select * from order 
inner join activeorder
on
order.orderID = activeorder.ActiveOrderID
WHERE activeorder.status = 'l'

但我感觉整个业务周期中实体状态的变化不会超过6-10次。将所有内容都放在一张表中应该不成问题。如果您对“where status_id = x”选择的 status_id 有合理的索引。但另一方面,拥有额外的表可以轻松添加一些有关状态代码的附加属性。

关于java - 如何在业务流程过程中捕获数据库中实体的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5176257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com