I have below POJO "MyClass" which is being saved in Redis.
class MyClass {
@Id
private String someId;
private GenericAnimalID genericAnimalID;
@Transient
private GenericAnimal genericAnimal
}
class GenericAnimalId{
String variant;
String size;
}
class SpecificAnimalId extends GenericAnimalId{
String someProperty;
}
class GenericAnimal{
@Id
GenericAnimalId genericAnimalId;
String name;
}
So,basically I am storing MyClass in redis which has "genericAnimalID" property.
Now,when I store some Id having type of SpecificAnimalId,an extra property gets inserted in Redis as
{
genericAnimalId._class : package.SpecificAnimalId,
genericAnimalId : tiger
}
Whereas,when I store Id of type GenericAnimalId,it works fine and only inserts the Id value what I expect.
{
"genericAnimalId":animal
}
In first case,it causes converter issues while reading this value.While in second case,no extra property gets inserted and code works fine after this.