Our Work

Understanding Database relations of Liferay 7 custom Attributes

Updated today

Liferay Custom Attributes  

  • The added custom attribute of any asset will be stored here

  • Custom fields will be stored here,( for all every asset )

  • Type , hidden , searchable will be default values for the custom attributes


  • For every asset one entry will be inserted here

  • Based on this row id will be generated

  • This row will be having the classpk column where classpk is entry ID

  • Once after asset is created of any type and given with a custom attribute then the respective row will be inserted into this table.


  • It will represent the number of custom attributes of asset
  • Table id will be given here


  • The relation between expandorow and expando column will be given here
  • Expando table is used to find the asset type with the help of classNameId


  • Here, the actual values of the custom attributes are stored here

  • classNameId will store the value of which type of asset we are giving custom attribute

  • classPk will store the entryId of asset

  • columnId will store custom attribute name

  • Data will store the actual value of the custom attribute

  • To get the value of custom attribute we are using this expandorow, expandocolumn, expandotable & expandovalue table

  • These four table are interrelated.

Looking for Liferay Developer?

KTree is the best offshore Liferay development company with extensive experience in Liferay Portal Development services along with Upgrade & Migration. Hire Liferay developers or Liferay development services from LiferayDeveloper.

Request For Quote