У меня есть класс сущности java как
@Document(collection = "ftabcd")
class FTABCD{
@Id
String id
List<Base> baseList;
}
class Base {
String a;String b;
}
@TypeAlias("existingchild1name")
class child1 extends Base {
String child1refNO;
}
@TypeAlias("existingchild2name")
class child2 extends Base {
String child2refNO;
}
Итак, теперь в базе данных есть такая запись
{
"_id":ObjectId("5323465645431235465"),
"baseList": [
{
"child1refNo":"child1value",
"a":"avalue",
"b":"bvalue",
"_class":"existingchild1name"
}
]
}
, поэтому, когда я это сделаю,
FTABCDRepository.findById (5323465645431235465);
объект, который я получаю из базы данных, читает "baseList" как список, и каждый элемент списка преобразуется в базовый класс,
baseList = [Base (a = "avalue", b = "bvalue")]
, хотя он мог быть преобразован в Child1 или Child2. Как я могу сделать так, чтобы он читал так же, как тип Child1 или тип Child2, и с ним были связаны child1refNo или child2refNo.
Ожидаемый результат должен быть baseList = [child1 (child1refNo = "child1value", a ="avalue", b = "bvalue")]