Non credo che Jackson supporti alcun tipo di configurazione per abilitare la serializzazione di un campo transitorio. C'è una questione aperta per aggiungere questa funzione, ma è vecchio e non è stato affrontato (per quanto posso dire): http://jira.codehaus.org/browse/JACKSON-623
Quindi la mia domanda è: esiste un modo per impostare Jackson per serializzare tutte i campi degli oggetti? includere quelli transitori.
Quindi per rispondere alla tua domanda, no.
Alcuni altri strumenti Java JSON, ad esempio GSON , supportano un'opzione di configurazione per serializzare i campi transitori. Se è possibile utilizzare un altro strumento, è possibile dare un'occhiata (per GSON, vedere: https://sites.google.com/site/gson/gson-user-guide).
Per espandere un po ', si potrebbe provare un approccio diverso.
In primo luogo, non provare a serializzare un campo transitorio. Dopo tutto, la definizione di transitorio è "non serializzare questo". Tuttavia, posso pensare ad alcune situazioni specifiche in cui potrebbe essere necessario, o almeno conveniente (come quando si lavora con il codice che non è possibile modificare o simili). Eppure, nel 99% dei casi, la risposta è non farlo. Cambia il campo in modo che non sia transitorio se hai bisogno di serializzarlo. Se si dispone di più contesti in cui si utilizza lo stesso campo e si desidera serializzarlo in uno (JSON, ad esempio) e non serializzato in un altro (java.io, ad esempio), è necessario creare un serializzatore personalizzato per il caso in cui non lo vuoi, piuttosto che abusare della parola chiave.
Secondo, per usare un getter e avere "alcuni getter che cambiano lo stato degli oggetti", dovresti cercare di evitare anche quello. Ciò può portare a varie conseguenze non volute. E, tecnicamente, non è un getter, è un setter. Quello che voglio dire è che se muta lo stato, hai un mutatore (setter) piuttosto che un accessore (getter), anche se lo chiami seguendo la convenzione "get" e restituisci qualcosa.
Se si desidera serializzare i campi @ javax.persistence.Transient, vedere [la risposta di Gere] (http://stackoverflow.com/a/29109806/606662): –
d'accordo con @Markus Pscheidt – dirai