覆盖默认的 Liferay 组织模型

Overriding default Liferay Organization model

我需要自定义 Liferay 的默认行为:目前,每个组织都必须有一个唯一的名称 -- 我需要覆盖此行为以允许重复名称。此外,目前数据库中的当前 Organization_ table 中有很多实体。

是否可以在保留旧实体的同时覆盖默认模型并删除唯一性约束?如果是,我将如何处理?

当然,我可以只为新保存的实体添加独特的后缀,然后在显示时删除它们,但这种方法似乎很奇怪。

Is it possible to override default model and remove uniqueness constraint while preserving old entities?

是的,确实如此,因为您可以覆盖 Liferay

中的一切

If yes, how would I approach this?

讽刺的方法

  1. 确定所有 Liferay 处理组织的地方,并且可能隐含地依赖于它们的唯一性。
  2. 希望我确实找到了所有地方
  3. 评估是否可以更改所有这些地方以不再依赖名称的唯一性
  4. 希望我找到了一切,并且我的更改有意义
  5. 当我需要将更改采纳到 Liferay 的未来版本时,留出大量资金来支付我更改的未来维护费用。
  6. 到 10. 确定不值得,然后转向替代解决方案

替代方法:

  1. 确定需要此新显示的位置
  2. 实施替代名称,例如通过 Expandos(自定义字段)
  3. 在需要的地方更改显示以显示 Expando 值而不是组织名称。