Use a Jackson ObjectMapper configured for the PostgreSQL JSONB encoding of catalog and config info objects. In particular, null values must be encoded as null in JSON, for the Postgres triggers calling populate_table_columns_from_jsonb() to correctly unset columns used for joining when values in the JSON representation change to null.
For example, if a layer group is moved from one workspace to no-workspace, the layergroupinfo.workspace table column must be automatically set to null by populate_table_columns_from_jsonb(), which won't happen if the new JSON object does not have the "workspace": null property, as when the ObjectMapper has default property inclusionInclude#NON_EMPTY`.
Use a Jackson
ObjectMapper
configured for the PostgreSQL JSONB encoding of catalog and config info objects. In particular, null values must be encoded asnull
in JSON, for the Postgres triggers callingpopulate_table_columns_from_jsonb()
to correctly unset columns used for joining when values in the JSON representation change tonull
.For example, if a layer group is moved from one workspace to no-workspace, the
layergroupinfo.workspace
table column must be automatically set tonull
bypopulate_table_columns_from_jsonb()
, which won't happen if the new JSON object does not have the"workspace": null
property, as when theObjectMapper has default property inclusion
Include#NON_EMPTY`.