On Jun 2, 2009, at 12:29 PM, Aristedes Maniatis wrote:
1. Because the second most commonly used implementation will be:
* boolean NOT NULL field called 'isDeleted'
Could this alternative implementation be one of the 'out of the box'
choices? For us, we'd want that choice per table since some tables
we actually do delete (since we don't care about keeping historical
data). For Cayenne, the ability to do this without too much code
would be very useful and a strong 'selling point' for the framework.
(BTW we have another area where we could provide a sensible default -
the auto increment version column.)
What I would like to avoid is implicit invisible mappings forcing user
into Cayenne table/column naming conventions. The ability to work on
top of an (almost) arbitrary schema is a big deal in the database
world. Cayenne never had any such conventions (ok, except for
AUTO_PK_TABLE), and this was also a strong usability point.
Fortunately we have the Modeler, so we can achieve the best of both
worlds. The modeler can create a needed column and a qualifier if an
entity is marked as "soft delete". The user can stick with those, or
go and edit the names.
Andrus