Hi Dirk,

I also had performance concerns. So maybe store all that bulky optional metadata (be it just comments or some arbitrary key value pairs) in a separate properties file sitting next to the project descriptor (cayenne.properties?). Each property name will be prefixed with a location of the property-owning node in the project tree. E.g.:

map:mymap1.dbentity:myentity1.abc.comment = ABC...
map:mymap2.objentity:myentity2.abc.comment = XYZ...

... or something. Properties can be loaded lazily on first access and CayenneModeler would take care of building the proper keys.

Is this similar to what you've done?

Andrus


On Jan 31, 2007, at 3:24 PM, Dirk Olmes wrote:
Hi All,

Hi,

We use Cayenne day in day out for a lot of our work, and the Cayenne
Modeler has a pretty central place in maintaining the database design,
and hence the application design.

Documentation for the database model has been an issue that I was
interested in since the EOF days.

Being able to have comments associated with DbEntity attributes and
relationships would be an extremely useful feature, especially with
large teams, where a design is being shared with other members, or
even to simply come back and remember some of the original design
thinking.

My main concern with comments in the model would be that they are possibly going to be loaded into the runtime as well ... this only wastes memory.
My approach was to store documentation of the model separately to the
model itself. IIRC I have such a documentation app half finished for
cayenne lying around at home. I can have a look if somebody is interested
...

-dirk

--
Anyway kids, have fun, play nicely, be good. And remember - if it ain't
broke, hit it again.



Reply via email to