Liferay 7.0 服务生成器:如何从另一个模块正确引用实体

Liferay 7.0 service builder: how to properly reference entity from another module

我是 liferay 的新手,正在尝试一些简单的表单创建。

首先,我创建了包含多个词典的词典模块。它们都很相似:TBL_NAME {id, description}。它运行良好,在数据库中创建了表。

然后我创建了第二个模块(服务构建器类型)并尝试将一些字段引用到该词典(一对多)。

但我在构建时不断收到 "Unable to find X in Y" 错误。

它们都在同一个包路径中。我试图将它们放入同一个命名空间,添加字典项目构建路径,甚至添加

compileOnly project(":modules:dictionary:dictionary-api")
compileOnly project(":modules:dictionary:dictionary-service")

至build.gradle。

<service-builder package-path="my.path">
    <namespace>TN</namespace>

    <entity name="Tblname" local-service="true" table="_TBLNAME">
        <column name="city" type="Collection" entity="my.path.City"></column>       

        <!-- References -->
        <reference package-path="my.path" entity="City" />

我做错了什么?

此外 - 它们是否应该具有相同的命名空间 ("TN")?

模块应该有不同的命名空间,最重要的是不同的包。否则,您 运行 进入拆分包场景。