Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-2478

cgen: Generate properties for PK

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.1.B1
    • Component/s: cgen, Modeler, Non-GUI Tools
    • Labels:
      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?)

        Attachments

          Activity

            People

            • Assignee:
              ntimofeev Nikita Timofeev
              Reporter:
              ntimofeev Nikita Timofeev

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment