Complex Data Types - Array / JSON / JSONB

Jmix relies on JPA for database access. It cannot “just define something like text[] and then parse the array from there in sql”, there is no use of SQL in the framework mechanisms.

To provide high-level features like automatic binding of UI components to data model or components like GenericFilter, the framework has to restrict the variety of underlying data model structures. Now it supports entities mapped to database tables, and relations between them. Database-specific column types can be used to store and load data, but they are largely ignored by the framework features.

So to get the most out of Jmix, it’s best to play by its rules and avoid using database-specific types where possible. This is a common trade-off between advanced features and low-level optimizations.

Regards,
Konstantin

3 Likes