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