0

moqui 中的许多实体具有多个字段组合的主键。在某些情况下,人们可能想要更新主键中的一个字段。例如,对于存储在 ProductContent 实体中的产品图像,该实体具有 productId、productContentTypeEnumId、contentLocation、fromDate 的主键,人们可能想要将一张图像从细节更新为大,我还没有找到如何在 moqui 中执行此操作,实际上是在实体中引擎呢。

一种解决方案是删除它,然后添加新的。但这听起来很奇怪。

4

1 回答 1

1

只是为了澄清一些项目结构: ProductContent 实体实际上是 Mantle Business Artifacts 项目的一部分,而不是 Moqui 框架。Mantle Business Artifacts 是 Moqui 生态系统的核心部分。

对于具有多个主键字段的实体,这是一个数据库约束,即您不能更新 PK 字段。您必须创建一条新记录,而您对另一条记录的处理取决于您的应用程序的需要(过期、删除、离开等)。

可以将某些东西添加到实体外观中以自动执行此类操作,但这会很复杂。要识别记录,代码必须知道 PK 字段的旧值和新值,以及如何处理旧记录。

除非为一个常见的用例出现了一个清晰的模式(在 14 年的 ERP 工作中,我想不出我遇到过什么,虽然过期模式是最常见的,例如对于不可变的 ContactMech 记录,等等),这最好通过明确的服务代码来完成,而不是通过工具更自动地完成。

如果有一个特定的模式,您希望看到实体外观的扩展以使其更容易,那么在 LinkedIn Group 上进行讨论将是一个很好的起点(与 StackOverflow 不同的是,StackOverflow 用于问题而不是用于讨论)。

于 2014-02-26T03:55:13.297 回答