Seu código está funcionando conforme o esperado. Depois de implementar
Persistable
você pode ver que @CreatedDate
anotação está funcionando. Claro que
createdDate
é null
na segunda chamada de save
porque o objeto já existe no banco de dados e você o atualizou com createdDate = null
. Como você pode ver na documentação para @CreatedDate
:Portanto, para não substituir seu
createdDate
com null
na segunda chamada você deve recuperar seu cliente do banco de dados com c = repository.findOne("test_id");
e depois atualizá-lo.