Liferay Service Builder - Collection 类型的列 (List<String>)

Posted

技术标签:

【中文标题】Liferay Service Builder - Collection 类型的列 (List<String>)【英文标题】:Liferay Service Builder - Column of type Collection (List<String>) 【发布时间】:2018-02-03 07:10:00 【问题描述】:

我是 Liferay 的新手。我想使用 Service Builder 为实体 Traveller 构建以下列:

<entity name="Traveller" local-service="true" remote-service="true">
 <column name="citiesList" type="Collection"></column>
</entity>

当我运行服务构建器时,在 TravellerModel.java 类中没有生成相应的 get/set 方法。

我尝试了以下解决方案但没有成功:

<column name="citiesList" type="Collection" entity="java.lang.String"></column>

谁能告诉我如何在 Liferay Service Builder 中定义字符串列表(List)?

提前致谢。

【问题讨论】:

我认为您可以创建城市实体或将所有旅行城市存储在列表中并将它们拆分为数组。这可能会对您有所帮助:***.com/questions/24273631/… 【参考方案1】:

(关闭一个旧线程..) List 不是您可以通过声明它来简单地在 Service builder 上创建的字段,因为您在考虑 DB 模式时可能会使用的理性是相同的,您通常会创建一个具有外键和值的辅助表,或嵌入数据在要编码的单个数据字段中(不是很好)。

不过,在 SB 上,您可以使用映射表或额外的实体来重新构造您的列表表示。除此之外,您可以在 LocalServiceImpl 类上添加列表作为参数,该类在更高级别使用或构建列表。

【讨论】:

以上是关于Liferay Service Builder - Collection 类型的列 (List<String>)的主要内容,如果未能解决你的问题,请参考以下文章

Liferay Service Builder - Collection 类型的列 (List<String>)

Liferay 7.0 修改service.xml后如何让portal重新执行tables.sql

Liferay Service Pack 和 Fixpack

liferay修改service.xml 中表结构后,数据库中表不发生改变

将Liferay作为Window Service运行时如何将文档库指向网络驱动器

Liferay Portal Json Web Service 反序列化漏洞(CVE-2020-79