liferay生成数据库的名称是什么?

问题描述 投票:0回答:1

Liferay通过service.xml生成数据库的表在哪里?我在Postgres中没有看到它。有这么多表,我试图找到它,但没找到。任何人都可以帮助我,谢谢

java postgresql liferay
1个回答
1
投票

除非在service.xml中声明的实体中明确指定表名,否则使用命名空间和实体名称构造表名。

<service-builder package-path="com.liferay.docs.guestbook">
    <namespace>GB</namespace>
    <entity name="Guestbook" local-service="true" uuid="true">
    ...

将生成GB_Guestbook作为表名。

来自very well documented DTD

<namespace>

namespace元素必须是此组件的唯一命名空间。表名称将以此命名空间为前缀。生成的JSON JavaScript也将作用于此命名空间(即,如果命名空间为Test,则为Liferay.Service.Test。*)。

<entity>服务建设者的孩子

实体通常表示数据库中的业务外观和表。如果实体没有任何列,则它仅表示业务外观。如果不存在,Service Builder将始终生成空的业务外观POJO。在后续阶段,服务构建器将检查业务外观是否已存在。如果它存在并具有其他方法,那么Service Builder也将更新SOAP包装器。

如果实体确实具有列,则还会根据order和finder元素生成值对象,映射到数据库的POJO类以及其他持久性实用程序。

...

(您将在该文档中找到更多提示,例如显式表名)

笔记:

  • 如果声明实体存储在外部(非Liferay)数据源中,则不会创建任何表。
  • 此外,Liferay的某些版本会在部署新插件版本时自动更新数据库结构(使用更新的持久层),而其他版本则不会自动执行此操作(无论如何,它都是开发人员功能,不适合大型生产 - 大量数据)
© www.soinside.com 2019 - 2024. All rights reserved.