Hi Robert,

To resurrect a really old thread, I was wondering if you ever found a
solution or workaround to this problem?  I was helping another project
at work on Friday that hit the same issue.

Thanks,

mrg


On Thu, Apr 23, 2009 at 7:17 PM, Robert Zeigler <[email protected]> wrote:
> So, I was playing around a bit with the "is abstract" flag on abstract
> entities.
> I confess that it didn't quite work the way I thought it would.
> For one, the superclass was abstract, but not the subclass.  I went ahead
> and made the subclass abstract.  Which raises the second issue.  I have two
> obj entities entities extending the "abstract" superclass, using a single
> discriminator column.  I went to query the base class (ala: select e from
> Entry e), and the query failed, due to the inability to instantiate an
> instance of Entry.  Evidently, cayenne is trying to instantiate all of the
> subclasses instances as instances of the superclass.  Shouldn't cayenne be
> instantiating the subclasses? Put another way, what is the technical reason
> that cayenne /isn't/ instantiating the subclasses as instances of the
> subclasses? Given the potential of polymorphism, it seems like instantiating
> as the superclass, even if the superclass is concrete, is incorrect
> behavior? Just trying to clarify, here.  I'll be digging through the code to
> try to understand the specifics of how cayenne handles inheritance, but, any
> pointers appreciated.
>
> Robert

Reply via email to