Если вы используете MySQL Workbench (в настоящее время версия 6.3), вы можете сделать это с помощью:
Обычно считается, что плохая практика расширяет HashMap. Вместо этого вы должны создать класс с картой и дополнительным полем.
Это решит вашу проблему, но также будет иметь дополнительные преимущества:
Вместо @JsonUnwrapped
вы можете использовать @JsonAnyGetter
и @JsonAnySetter
следующим образом:
public class Foo {
private OffsetDateTime lastModifiedTime;
private HashMap<String, String> additionalProperties = new HashMap<String, String>();
public Foo() {
super();
lastModifiedTime = OffsetDateTime.now();
}
public void setLastModifiedTime(OffsetDateTime newTime) {
this.lastModifiedTime = newTime;
}
public OffsetDateTime getLastModifiedTime() {
return this.lastModifiedTime;
}
@JsonAnyGetter
public Map<String, String> any() {
return this.additionalProperties;
}
@JsonAnySetter
public void set(String name, String value) {
this.additionalProperties.put(name, value);
}
}
По умолчанию ваша карта попадет в MapSerializer
. Вы можете зарегистрировать модификатор сериализатора, чтобы добавить настраиваемое свойство, но вам лучше было бы вложить карту в качестве свойства Foo
и разворачивать ее:
@JsonUnwrapped
private HashMap<String, String> fooMap;