This sounds very nice…

To do a little dreaming, it would be even more awesome if property lazyness was 
controllable on a per-query basis, usage requirements tend to be quite 
dependent on context.

A bit like a ColumnSelect that still allows you to keep all your fancy 
DataObject business logic intact :).

ObjectSelect
        .query( BigEntity.class )
        .lazyProperties( BigEntity.HUGE_IMAGE, BigEntity.MASSIVE_STRING )

- hugi



> On 29 Nov 2019, at 15:25, Michael Gentry <blackn...@gmail.com> wrote:
> 
> Well, we can't always control the DB schema we have to interface with...
> 
> 
> On Fri, Nov 29, 2019 at 5:30 AM Maik Musall <m...@selbstdenker.ag> wrote:
> 
>> I’ll add a little caveat though. If a query hits lots of rows and thus the
>> optimizer decides to do a full table scan (or a partition scan), the
>> database could still end up having to read the blobs from disk, only
>> omitting them in the returned results. So there may still be
>> performance-related reasons to keep such blobs in separate entities (or
>> elsewhere), depending on the specific RDBMS and it’s configuration.
>> 
>>> Am 29.11.2019 um 07:07 schrieb Lon Varscsak <lon.varsc...@gmail.com>:
>>> 
>>> Yeah, it's a great idea.
>>> 
>>> On Thu, Nov 28, 2019 at 6:06 AM Maik Musall <m...@selbstdenker.ag>
>> wrote:
>>> 
>>>> +1 sounds very useful to simplify the data model here and there
>>>> 
>>>>> Am 27.11.2019 um 13:06 schrieb Michael Gentry <blackn...@gmail.com>:
>>>>> 
>>>>> I just happened across an article on Hibernate which talks about lazy
>>>>> attributes.  (A recent addition, I think.)  This essentially allows you
>>>> to
>>>>> flag an attribute/column as lazy and it'll be excluded from the
>> original
>>>>> SELECT query, but if you call the getter it will then fetch it in.
>> This
>>>> is
>>>>> convenient for BLOB-type data that might happen to be in a main table
>>>> with
>>>>> other attributes (such as MIME types, file sizes, file names, etc).
>>>>> 
>>>>> Thoughts on maybe adding this feature to Cayenne?  I can imagine
>> there'd
>>>> be
>>>>> a "Lazy" column in Cayenne Modeler for the attributes to
>> control/identify
>>>>> them.
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> mrg
>>>> 
>>>> 
>> 
>> 

Reply via email to