Serialización de Jackson: cómo ignorar las propiedades de superclase

Quiero serializar una clase POJO que no está bajo mi control, pero quiero evitar serializar cualquiera de las propiedades que provienen de la superclase, y no de la clase final. Ejemplo:

public class MyGeneratedRecord extends org.jooq.impl.UpdatableRecordImpl<...>,
    example.generated.tables.interfaces.IMyGenerated {
  public void setField1(...);
  public Integer getField1();

  public void setField2(...);
  public Integer getField2();
...
}

Por el ejemplo, puede adivinar que JOOQ genera esta clase y hereda de una clase base compleja UpdatableRecordImpl que también tiene algunos métodos similares a las propiedades del bean, que causan problemas durante la serialización. Además, tengo varias clases similares, por lo que sería bueno evitar duplicar la misma solución para todos mis POJO generados.

He encontrado las siguientes soluciones posibles hasta ahora:

ignore los campos específicos que provienen de la superclase utilizando la técnica mixin como esta:¿Cómo puedo decirle a Jackson que ignore una propiedad para la cual no tengo control sobre el código fuente?

El problema con esto es que si la clase base cambia (por ejemplo, aparece un nuevo método getAnything ()), puede interrumpir mi implementación.

implementar un serializador personalizado y manejar el problema allí. Esto me parece un poco exagerado.

ya que, por cierto, tengo una interfaz que describe exactamente las propiedades que quiero serializar, ¿tal vez pueda mezclar una anotación @JsonSerialize (as = IMyGenerated.class) ...? ¿Puedo usar esto para mi propósito?

Pero, desde el punto de vista del diseño puro, lo mejor sería poder decirle a Jackson que quiero serializar solo las propiedades de la clase final e ignorar todas las heredadas. ¿Hay una manera de hacerlo?

Gracias por adelantado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta