If your result list is not expected to contain ClassTwo objects, you won’t see 
any blobs. But if it is - you will get fully resolved ClassTwo objects, 
including the BLOB attribute.

So perhaps BLOB should be placed in a separate table and lazily resolved via 
relationship?

Andrus

On Dec 20, 2013, at 10:49 AM, do...@xsinet.co.za wrote:

> Thanks for asking Andrus:
> 
> Because ClassTwo contains a BLOB that I don't want retrieved when asking for 
> ClassOne objects.
> 
> Jurgen
> 
> 
> -----Original Message----- From: Andrus Adamchik
> Sent: Friday, December 20, 2013 8:58 AM
> To: user@cayenne.apache.org
> Subject: Re: Inheritance Question
> 
> No.
> 
> But a question though - if the result set only contains ClassOne rows, why 
> would you care about inclusion of all those extra columns in the SELECT?
> 
> Andrus
> 
> On Dec 20, 2013, at 9:50 AM, do...@xsinet.co.za wrote:
> 
>> Thanks for your reply Andrus.
>> 
>> I don't suppose that there is a way to tell Cayenne not to be so eager in 
>> this case ?
>> 
>> Jurgen
>> 
>> 
>> -----Original Message----- From: Andrus Adamchik
>> Sent: Friday, December 20, 2013 8:27 AM
>> To: user@cayenne.apache.org
>> Subject: Re: Inheritance Question
>> 
>> From what I can tell, this is the intended behavior. If your SelectQuery 
>> root is ClassOne, Cayenne expects that the result might contain a mix of 
>> ClassOne and any of its subclasses (which means ClassTwo as well). So the 
>> columns in SELECT are a superset of columns for all the classes involved.
>> 
>> Andrus
>> 
>> 
>> On Dec 12, 2013, at 12:30 PM, do...@xsinet.co.za wrote:
>>> Hi All
>>> 
>>> I have a dbEntity say ClassOne (its lightweight) and another that inherits 
>>> from it as ClassTwo (its heavyweight).
>>> 
>>> Now in my case I have a prefetch that retrieves ClassOne objects.
>>> 
>>> The problem that I have is that Cayenne is fetching ClassTwo data as well ?!
>>> 
>>> Surely Cayenne should only be fetching the ClassOne data, why is ClassTwo 
>>> data also being retrieved ?
>>> 
>>> Is this the intended behaviour ?   Is there a way to prevent it ?
>>> 
>>> Thanks, Jurgen
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

Reply via email to