У меня возникла ошибка при попытке работать с аннотацией @JsonIdentityInfo jackson. Когда я пытаюсь десериализации объекта я получаю на следующие исключения:JsonMappingException: У меня уже был POJO для id
Не удалось прочитать JSON: Уже было POJO для идентификатора (java.lang.Integer) [1] (с помощью эталонной цепи: eu.cobiz.web. domain.Site ["operator"] -> eu.yavix.web.domain.Account ["image"] -> eu.cobiz.web.domain.Image ["@ Image"]); вложенное исключение - com.fasterxml .jackson.databind.JsonMappingException: Уже был POJO для id (java.lang.Integer) [1] (через ссылочную цепочку: eu.yavix.web.domain.Site ["operator"] -> eu. cobiz.web.domain.Account ["image"] -> eu.cobiz.web.domain.Image ["@ Image"])
JSON Я пытаюсь десериализации выглядит как:
{
"@Site": 1,
"siteId": 1,
"name": "0",
"address": {
"@Address": 2,
"addressId": 4,
"number": "22"
},
"operators": [
{
"accountId": 1,
"email": "[email protected]",
"image": {
"@Image": 1,
"imageId": 1,
"uri": "http://icons.iconarchive.com/icons/deleket/purple-monsters/128/Alien-awake-icon.png"
}
},
{
"accountId": 2,
"email": "[email protected]",
"image": {
"@Image": 2,
"imageId": 2,
"uri": "http://icons.iconarchive.com/icons/deleket/purple-monsters/128/Alien-awake-icon.png"
}
}
]
}
Мой объект домен помечается
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@Image")
Проблема возникает на @Id аннотацию, так как, если удалить аннотацию проблема исчезает (как я сделал для учетной записи), но, по моему мнению, новая функция полезна для циклических зависимостей, которые полезны для меня в других сценариях. Не должно быть конфликта между двумя изображениями, поскольку они являются разными объектами.
Есть ли у кого-нибудь идея о том, как решить или в чем проблема?
Я думаю, что это не относится к десериализации - идентификаторы уже существуют. –