覆盖liferay中的现有service.xml

use*_*182 1 liferay

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

Ola*_*ock 5

最好的做法是不要对Liferay的表格执行此操作 - 想象如果下一版本的Liferay添加相同的列但具有不同的语义会发生什么.

此外,不鼓励直接更改源代码 - 而是使用像钩子这样的插件(或者,除非绝对必要,否则不建议使用插件).请注意,servicebuilder更改在ext中已弃用,将来不再受支持,因此您无法使用无法直接添加到Liferay表中的挂钩.

实现其他字段的推荐方法是使用自定义字段(API名称Expando*)或使用新服务(来自挂钩或portlet)创建新实体,并使用外键将这些实体链接到Liferay实体.

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

  • +"最佳做法是不对Liferay的表格执行此操作 - 想象如果Liferay的下一个版本添加相同的列但具有不同的语义会发生什么." (2认同)