Воспроизведение morphia @Reference и отношения абстрактного класса

Я не нашел ответов на эту конкретную «проблему». В настоящее время я использую Play framework 1.2.5 с модулем Play Morphia 1.2.9.

Итак, вот проблема: у меня есть один класс A, который является абстрактным (не @Entity, потому что это не разрешено), и два класса B и C, которые наследуются от класса A, который расширяется от класса Model. Классы B и C имеют аннотацию @Entity.

Я хотел знать, возможно ли, например, в четвертом классе, классе D, иметь ссылку на класс A? На самом деле я просто хочу использовать полиморфное поведение, мне нужно получить доступ к свойству, определенному в классе A, не зная заранее, является ли оно экземпляром класса B или C, но мне все равно нужно получить эти объекты из базы данных с помощью findById() метод.

Я не знаю, действительно ли это ясно, но в конце концов моей целью было бы выполнить findById() для «объекта класса A» и автоматически получить экземпляр класса B или C.

Не могли бы вы мне помочь, пожалуйста ? (Возможно, если я установлю одну и ту же коллекцию на B и C с помощью @Entity(value="xxxx"))

Спасибо !


person Lebowski    schedule 26.09.2012    source источник


Ответы (1)


Вы не можете выполнить findById() для «объекта класса A», потому что MongoDB создает идентификаторы только для объектов, объявленных с помощью аннотации @Entity.

person elad    schedule 27.11.2012