Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
To use PK in query (in where or order by clause) you need to write custom expressions and that is most likely ugly (something like ExpressionFactory.matchDbExp("db:" + Artist.ARTIST_ID_PK_COLUMN, 1))
So we may just use Cayenne Property API and generate these properties in cgen tools. This will lead to much cleaner code: Artist.ARTIST_ID_COLUMN.eq(1)
A few things to keep in mind:
- PK can be compound, in that case there should be several properties
- PK can be already mapped on ObjAttribute, in that case we shouldn't generate anything
- PK property naming shouldn't clash with other properties
- this feature should be optional (or not?)