Как отключить полиморфизм в унаследованном классе? - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть классы: A> [B1, B2]> C, Пользовательский преобразователь и десериализатор (это очень просто принять решение на основе свойства)

@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
@JsonSubTypes({
        @Type(name = "b1", value = B1.class),
        @Type(name = "b2", value = B2.class)})
@JsonTypeResolver(CResolver.class)
public abstract class C<T> {
     // ...
}

class A extends B1 {
    // ...
}
A obj = new ObjectMapper().readValue(json, A.class); 
// I get exception: java.lang.ClassCastException: B1 cannot be cast to C

Я хочу отключить полиморфизм, могу ли я сделать это с помощью некоторых аннотаций?

...