我需要在liferay的现有表中添加一列
我认为覆盖service.xml
是将列添加到现有表格的方式。service.xml
中包含所需的portal-impl\src\com\liferay\portal
。
现在我想知道在哪里覆盖这个文件(我使用的是tomcat和postgreSQL
)。
答案 0 :(得分:5)
最佳做法是不要对Liferay的表格执行此操作 - 想象如果下一版本的Liferay添加相同的列但具有不同的语义会发生什么。
此外,不鼓励直接更改源代码 - 而是使用像钩子这样的插件(或者,除非绝对必要,否则可能但不推荐使用ext)。请注意,servicebuilder更改在ext中已弃用,将来不再受支持,因此您无法使用无法直接添加到Liferay表中的挂钩。
实现其他字段的推荐方法是使用自定义字段(API-name Expando*
)或使用新服务(来自挂钩或portlet)创建新实体,并将这些实体与外键链接到Liferay实体。
我知道,这并没有回答你如何做到这一点的问题,但它提供了你应该如何思考解决你未提及的潜在问题的替代方案。