Re: Lazy Attributes
Andrus Adamchik <[email protected]>
| Newsgroups | gmane.comp.java.cayenne.devel |
|---|---|
| Message-ID | <[email protected]> |
Keep on dreaming. We may end up with a really nice feature spec :) > On Nov 29, 2019, at 6:57 PM, Hugi Thordarson <[email protected]> wrote: > > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]>: >>>> >>>> Yeah, it's a great idea. >>>> >>>> On Thu, Nov 28, 2019 at 6:06 AM Maik Musall <[email protected]> >>> wrote: >>>> >>>>> +1 sounds very useful to simplify the data model here and there >>>>> >>>>>> Am 27.11.2019 um 13:06 schrieb Michael Gentry <[email protected]>: >>>>>> >>>>>> 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 >>>>> >>>>> >>> >>> >