Я использую Morphia с проектом Play Framework 2.1 и базой данных MongoDB, и у меня возникла проблема с получением некоторых данных.
У меня есть класс A, который и @Entity хранятся в коллекции. Но этот класс A имеет свойство @Embedded List, этот класс B является абстрактным и имеет несколько реализаций.
Но этот класс B также имеет свойство @Embedded ClassC, и этот класс C тоже является абстрактным и может иметь несколько реализаций.
Я не думаю, что эту структуру можно использовать «как есть» и что Morphia справится с ней. В моей базе объекты хранятся корректно, ошибок нет.
{
"_id" : ObjectId("5163c9131a887c8e5aea8d5f"),
"className" : "package.to.ClassA",
"list" : [
{
"propClassB" : [
{
"className" : "package.to.an.ImplementationOfClassB",
"propClassC" : {
"className" : "package.to.an.ImplementationOfClassC"
}
}
]
}
]
}
Класс A помечен @Entity,
Класс B помечен @Embedded (и @Polymorphic, но я не думаю, что он используется)
Класс C помечен @Embedded (и @Polymorphic тоже)
Я делаю что-то неправильно ? Спасибо за все !