У меня есть один проект, который читает xml и сохраняет в БД? но дата поля в xml передается в формате 'гггг-ММ-дд' и для сохранения в моей БД мне нужно сохранить в формате anoter 'дд / мм / гггг'
, поэтому мне нужно создайте один XmlAdapter для анализа из String в localDate
public class LocalDateAdapter extends XmlAdapter<String, LocalDate> {
public LocalDate unmarshal(String v) throws Exception {
if(Strings.isNullOrEmpty(v))
return null;
return LocalDate.parse(v);
}
public String marshal(LocalDate v) throws Exception {
if(v == null)
return null;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
return v.format(formatter);
}
}
, поэтому я вставил свою сущность
@XmlElement(name = "DATAINSTRUMENTO", required = true)
@XmlJavaTypeAdapter(value = LocalDateAdapter.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
protected LocalDate dataInstrumento;
Но теперь я получил ошибку, когда он попытался сохранить в моей БД, я получил ошибку
Caused by: java.lang.IllegalArgumentException: The given Json object value: 'MyObject' cannot be transformed to a String
Так что можно игнорировать @XmlJavaTypeAdapter (value = LocalDateAdapter.class) при сохранении в БД?
ткс