There is no lazy fetching of attributes (only relationships). We will
be adding it at some point. It is a bit more involved than simply
suppressing a given column in the SQL translator. Still you have a few
of options:
1. Place large columns in a separate table with 1..1 relationship to
the master table .
2. Do not map large columns in the ObjEntity and resolve them manually
on demand (either with SQLTemplate, or by mapping a second entity to
the same table).
...
Andrus
On Jun 30, 2008, at 11:54 AM, Øyvind Harboe wrote:
> An SQL statement includes a list of which columns to fetch for
> the query.
>
> Consider a table "book" with three columns, id(pk), title(<100 chars)
> and content(the entire text of the book).
>
> SELECT id, title FROM book
>
> If one of the columns are big and rarely used, then it makes little
> sense to transfer it to the client from the database for every
> query. E.g. above the entire text of the book is left out.
>
> The difference in memory usage can be quite dramatic.
>
> Can I do the same w/Cayenne?
>
> Can I have the columns fetched on-demand?
>
> I'd like to avoid hardcoded SQL templates obviously.
>
> SelectTranslator.createSqlString() unconditionally adds all
> columns...
>
> --
> Øyvind Harboe
> http://www.zylin.com/zy1000.html
> ARM7 ARM9 XScale Cortex
> JTAG debugger and flash programmer
>
This archive was generated by hypermail 2.0.0 : Mon Jun 30 2008 - 05:01:58 EDT