Dynamic Attributes

Dynamic attributes are additional entity attributes that extend the data model without changing the database schema and restarting the application. It allows you to define new entity properties at the deployment or production stage.

Dynamic attributes are stored in the main data store in an Entity-Attribute-Value structure. The framework automatically loads and saves values of dynamic attributes together with entity instances.

Users can view and edit dynamic attributes in tables and forms of existing application screens in Backoffice UI.

Jmix provides UI to configure dynamic attributes. An administrator can define a name, a type, validation rules, and specify what UI screens and visual components will display a dynamic attribute.


To include Dynamic Attributes functionality in your application, add the following lines to the dependencies section of your build.gradle file:

implementation 'io.jmix.dynattr:jmix-dynattr-starter'
implementation 'io.jmix.dynattr:jmix-dynattr-ui-starter'