cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugi Thordarson <h...@karlmenn.is>
Subject Re: Lazy Attributes
Date Fri, 29 Nov 2019 15:57:45 GMT
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 <blacknext@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 <maik@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.varscsak@gmail.com>:
>>> 
>>> Yeah, it's a great idea.
>>> 
>>> On Thu, Nov 28, 2019 at 6:06 AM Maik Musall <maik@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 <blacknext@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
>>>> 
>>>> 
>> 
>> 


Mime
View raw message