1

我需要在 liferay 中的现有表中添加一列。
我认为覆盖service.xml是向现有表添加列的方法。所需service.xml的存在于portal-impl\src\com\liferay\portal.
现在我想知道在哪里覆盖这个文件(我使用的是 tomcat 和postgreSQL)。

4

1 回答 1

5

最好不要对 Liferay 的表执行此操作——想象一下如果 Liferay 的下一个版本添加相同的列,但具有不同的语义会发生什么。

此外,不鼓励直接更改源代码 - 而是使用像钩子这样的插件(或者,可能但不推荐,除非绝对必要,ext)。请注意,在 ext 中不推荐使用 servicebuilder 更改,并且将来不会支持,因此您会遇到无法直接添加到 Liferay 表的钩子。

实现附加字段的推荐方法是使用自定义字段(API-name Expando*)或使用新服务(来自钩子或 portlet)创建新实体,并将这些与外键链接到 Liferay 实体。

我知道,这并不能回答你如何做到这一点的问题,但它提供了你应该如何思考来解决你没有提到的潜在问题的替代方案。

于 2012-12-19T09:15:25.243 回答