我所有的实体都继承自一个名为 EntidadeBase 的类:
@MappedSuperclass
public abstract class EntidadeBase implements Serializable {
private static final long serialVersionUID = -3912856473903279467L;
@Id
@QueryParam("id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
@PodamStrategyValue(value = NullStrategy.class)
private Long id;
@Column(name = "cadastro_data", nullable = false)
@PodamStrategyValue(value = PastDateStrategy.class)
private LocalDate dataCadastro;
@Column(name = "modificado_data", nullable = false)
@PodamStrategyValue(value = PastDateStrategy.class)
private LocalDate dataModificacao;
@QueryParam("modificado")
@Column(nullable = false)
@PodamBooleanValue(boolValue = false)
private Boolean modificado;
@QueryParam("ativo")
@Column(nullable = false)
@PodamBooleanValue(boolValue = true)
private Boolean ativo;
}
它是部署在 tomcat 8 上的 JAX-RS/Jersey Webservice,实际上使用默认 Jersey impl 进行 POJO 绑定:MOXy。
我的问题是,例如,当我发送一个包含 JSON 实体的 PUT 请求时,EntidadeBase 字段不会解析为我的 EndPoint 对象
这是一个例子:
@PUT
@Override
@Transactional(qualifier = ForTransaction.class)
public Response atualizar(@NotNull Abrangencia entidade) {
return super.atualizar(entidade);
}
如何使 MOXy 将 JSON 值解析为继承的超类的字段?