Newbie: AUTO_PK_SUPPORT problem

From: Andrea Borgogelli Avveduti (borgogell..otmail.com)
Date: Mon Jan 02 2006 - 13:08:41 EST

  • Next message: Mike Kienenberger: "Re: Newbie: AUTO_PK_SUPPORT problem"

    Hi boys
     
    I'm a newbie with Cayenne and have a little problem with auto pk generation.
    I have read the page and watched the table at http://objectstyle.org/cayenne/userguide/design/autopk.html but it's not so easy to understand
    I have read the document at http://www.objectstyle.org/confluence/display/CAY/Generated+Columns and watched the pictures but I can't find the "PK Generation Strategy" combobox in the Modeler.

    a) My Schema is
     
    table Employer
     int idPerson (PFK)
     int idcompany (PFK)
     
    table Person
     int idPerson (PK)
     
    table Company
     int idCompany (PK)
     
    b) My Cayenne mapping is
     
     DbEntity Employer's relationships:
      toPerson (toDepPk checked)
      toCompany (toDepPk checked)

     ObjectEntity Employer's relationships:
        toPerson ("used for locking" not checked)
      toCompany ("used for locking" not checked)
     
    c) My Java code is like:
     
    public Employer employer;  
    // note: person and company objects are fetched from two comboboxes of DataObjects
    .....
    employer.setToPerson(person);
    employer.setToCompany(company);
    // I haven't registered employer. Did I have ?
    dataContext.commitChanges();

    d) The error is:
     
    INFO  QueryLogger: --- will run 2 queries.
    INFO  QueryLogger: --- transaction started.
    INFO  QueryLogger: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME = 'EMPLOYER'
    INFO  QueryLogger: *** error.
    org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
    SQL error code = -204
    Table unknown
    AUTO_PK_SUPPORT
    At line 1, column 37.
     at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:88)
    ....
     
    e) Question is:
     
    Really I dont need to generate any pk because the table Employer has only two primary foreign keys, so I haven't create the AUTO_PK_SUPPORT table in my DB.
    Well, I don't need that table but cayenne is looking for it, why ?
    How I can solve that problem ?
     
     
    Best wishes for the new year
     
    Andrea



    This archive was generated by hypermail 2.0.0 : Mon Jan 02 2006 - 13:08:42 EST