虽然我已经使用Liferay ServiceBuilder开发了一些服务,但我不太清楚我是否理解使用这些属性的重点:
遵循基本tutorials,您被指示为每个实体创建这些属性,并注意在“添加”功能上设置它们。但考虑到这一点,我从未见过任何教程或引用的代码,其中这些属性用于数据检索(Finder方法,动态查询或自定义查询)
那么保留这些信息有什么意义呢?
这些属性是否在某种约定或范围内以某种方式自动使用?有点像,Liferay的默认Finders在通过PortalRequest可用时使用它们吗?
或者由开发人员在每个Select上使用它们,例如。所有单参数Finders在多实例门户上几乎没用(因为companyId属性应该用在每个Finder方法上)?
或者,为了数据库的可扩展性,审计,索引或其他我完全遗漏的东西,这是一个很好的做法吗?
答案 0 :(得分:1)
当您在暂存环境中使用实体时,这些属性是必需的。 groupId指定实体所属的环境。 userId的含义是显而易见的,对于companyId,它是站点标识符。所以恕我直言,当你有一个门户网站上有多个网站时,这些属性非常重要。启用等..
答案 1 :(得分:0)
假设您有一个新表,并且您想在表中设置UserId,那么这是必要的,但我不认为这些属性是必要的。 我创建了服务构建器
<entity name="FaoEsalesCustomer" local-service="true" remote-service="false" table="fao_esalecustomer">
<!-- PK fields -->
<column name="esaleCustomerId" type="long" primary="true" />
<!-- Audit fields -->
<column name="createdBy" type="long" />
<column name="createdOn" type="Date" />
<column name="modifiedBy" type="long" />
<column name="modifiedOn" type="Date" />
<!-- Other fields -->
<column name="customerName" type="String" />
<column name="address" type="String" />
<column name="ph" type="Integer" />
<column name="categoryId" type="long" />
<column name="categoryName" type="String" />
<column name="quantity" type="Double" />
<column name="price" type="Double" />
</entity>