可以在数据库中访问为用户资源创建的 Liferay 自定义字段吗?

Can Liferay custom fields for User Resource created can be accessed in DB?

是否可以在数据库中访问为用户资源创建的 Liferay 自定义字段 我为用户资源创建了自定义字段 通过以下步骤

  1. 控制面板 -> 配置 -> 自定义字段
  2. 然后选择一个资源,用户,点击它旁边的编辑 link 和 select 添加自定义字段。 并且该字段正在显示,但是我们可以通过 liferay DB 访问它吗?

创建的自定义字段存储在以 EXPANDO 为前缀的表中。

  • EXPANDOCOLUMN:存储自定义字段键和其他设置 (包含 tableId 引用)
  • EXPANDODATA:存储自定义字段 键的值(包含 columnId 和 tableId 引用)
  • EXPANDOTABLE:您要为其添加 liferay 实体(用户)的商店 自定义字段
  • EXPANDOROW:存储a之间的链接信息 用户及其值(包含 tableId 和 userId 引用)

- 这有更多详细信息

可以通过数据库访问吗?是的。 @Lakshmi(好吧,你自己)指出了要注意的地方。

你应该这样做吗? 绝对不会!

Liferay 的数据库对您来说是一个黑盒子。一旦你认为你理解了它,你就会忍不住写数据库并想知道为什么

  • 搜索不再有效
  • 由于与您未知的实体的关系,下一次升级失败
  • 权限检查失败,因为您没有注意它们。

有一个 API,它叫做 Expando。另一个问题的链接答案有其详细信息。使用它,不要理会数据库。帮自己(以及以后维护您的代码的任何人)一个忙。

这是访问数据库所需的 more complete write-up。但你不应该需要它——不要管它。说真的。