Re: Creating Compound PKs

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Mon Jun 04 2007 - 03:12:09 EDT

  • Next message: John Armstrong: "Re: Creating Compound PKs"

    On Jun 4, 2007, at 9:52 AM, John Armstrong wrote:

    > I can enforce it unique in the database but I was thinking that
    > Cayenne may have a more elegant way of managing it without having to
    > manually apply the database changes after schema creation. To me that
    > screamed 'New compound PK'.

    To me it doesn't :-)

    Seriously, ORM tool (CayenneModeler) doesn't attempt to replace your
    DB management tools 100%, although it overlaps a lot. You should
    still use DB facilities as appropriate.

    > How do you create compound PK's in Cayenne? I'm still using the
    > Modeller so I may have to edit the XML natively?

    Go to the attributes tab of the given DbEntity and check the PK
    checkboxes of those two extra columns.

    But note that you would need to delete the "id" column then,
    otherwise the UNIQUE constraint would span all three columns, not
    just the two you wanted.

    Also you would need to mark a relationship from ImapServer to the
    table in question as "To Dep Pk", so that the serverid could be
    propagated whenever you do myObject.setServer(myServer).

    Andrus



    This archive was generated by hypermail 2.0.0 : Mon Jun 04 2007 - 03:12:31 EDT