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

最佳答案

除非您在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>
  
  名称空间元素必须是此组件的唯一名称空间。
  表名将以该命名空间开头。生成的JSON
  JavaScript也将限于此命名空间(即,
  Liferay.Service.Test。*(如果名称空间为Test)。
  
  <entity>服务构建者的孩子
  
  实体通常代表业务门面和表中的表
  数据库。如果实体没有任何列,则仅
  代表业务门面。服务生成器将始终生成
  空的业务外观POJO(如果不存在)。随后
  几代人,服务构建器将检查是否业务
  门面已经存在。如果存在并且具有其他方法,则
  Service Builder也将更新SOAP包装器。
  
  如果实体确实具有列,则为值对象POJO类
  映射到数据库,其他持久性实用程序是
  也基于order和finder元素生成。
  
  ...


(您会在该文档中找到更多提示,例如明确的表名)

笔记:


如果声明实体存储在外部(非Liferay)数据源中,则不会创建任何表。
此外,Liferay的某些版本会在部署新插件版本时自动更新数据库结构(具有更新的持久层),而其他一些版本则不会自动执行此操作(无论如何这是开发人员功能,不利于大量生产-大量数据的存储) )

07-25 22:51
查看更多