the CachingSagaRepository in Axon 2 assumes that Sagas are cached in-memory, and therefore retain the contents of transient fields. Given that they are null in your case makes me assume that this isn’t the case for you. Note that reading the Saga from a database is probably just as efficient as reading it from a serialized cache.
If you do see an improvement in using the cache, you can work around this issue by using the ResourceInjector (the one also used by your SagaRepository) to inject resources in your Saga.