Я пытаюсь последовать классу JPA Managed Class (OpenJPA). < /p>
Этот класс содержит набор. Во время выполнения типа этого набора является org.apache.openjpa.util.java $ util $ linkedhashset $ proxy (мы используем OpenJPA). < /P>
Джексон будет сериализовать этот штраф, но затем потерпит неудачу, когда он придет к десеризации, так как этот тип не может быть создан (и при использовании Spring Security's Gackson конфигурации, он не будет конфигурировать). />
Итак, теперь я думаю, что решение состоит в том, чтобы настроить сериализацию, чтобы она была серизирована и десериализована как более стандартный набор. Когда он десериализован, ему нужно только реализовать набор.@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY)
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE)
public static class UserMixin {
@JsonDeserialize(as = LinkedHashSet.class, contentAs = LinkedHashSet.class)
@JsonSerialize(as = LinkedHashSet.class, contentAs = LinkedHashSet.class, typing = Typing.DYNAMIC)
private Set roles;
}
< /code>
Но когда я запускаю с этим, я получаю < /p>
Invalid definition for property roles (of type 'Lxxx/yyy/User;'): Can not refine serialization content type [simple type, class xxx.yyy.Role] into java.util.LinkedHashSet; types not related< /code> < /p>
и эта ошибка возникает при сериализации.
Подробнее здесь: https://stackoverflow.com/questions/507 ... th-jackson