I have a user entity with a list of settings. Originally I used List but using Map returns a JSON that is easier to search.
List version:
Database column declaration in entity:
private List<Setting> settings = new ArrayList<>();
Rendered JSON on GET:
"settings": [
{"name1" : "setting 1", "value" : 5},
{"name2" : "setting 2", "value" : 6},
]
JSON-patch:
[{"op":"replace","path":"/settings/0/value", "value": "6"}]
Map version:
Database column declaration in entity:
@MapKey(name = "name")
private Map<String, Setting> settings = new HashMap<>();
Rendered JSON on GET:
"settings": {
"name1": {"name1" : "setting 1", "value" : 5},
"name2": {"name2" : "setting 2", "value" : 6},
}
How to patch this? Tried this, but it is not working. Jackson wants a property named name1 in my POJO.
[{"op":"replace","path":"/settings/name1/value", "value": "6"}]
Settinganother entity with its own repository?Settingis another entity, but it does not have a repository.