如何使用Liferay Service Builder创建一对多关系

时间:2019-01-02 15:50:42

标签: liferay one-to-many liferay-service-builder

我需要在我的自定义实体和Liferay默认实体MyCustomEntity之间定义一对多关系。因此,一个{ "type": "XXXXXX", "project_id": "XXXXXX", "private_key_id": "XXXXXXXX" } 可以有许多DDMFormInstance。我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以定义集合样式列;此外,您将需要MyCustomEntityDDMFormInstance之间的映射表,并且还请记住,服务构建器主要不是ORM工具。所以有时开箱即用的功能会结束。

<column entity="User" mapping-table="Users_Groups" name="users" type="Collection" />

https://github.com/liferay/liferay-portal/blob/master/portal-impl/src/com/liferay/portal/service.xml中查看更多

答案 1 :(得分:0)

André's answer的工作方式是将多对多关系重新定位为一对多关系。这里的挑战是DDMFormInstance是现成的Liferay实体,您不能为其添加一对多关系的外键。安德烈的答案是最简单的解决方案。您可以使用映射表在service.xml中定义多对多关系,然后在MyCustomEntityLocalServiceImpl类中使其表现为一对多关系。