RE: MySql auto generated PK

From: Gentry, Michael \(Contractor\) ("Gentry,)
Date: Wed Jun 21 2006 - 09:13:14 EDT

  • Next message: yvind Harboe: "Re: Generating primary key locally without extra tables"

    I didn't keep up with the MySQL stuff too much, but I believe support
    was added (sometime in 1.2) for auto-increment columns. The
    isGenerated="true" is what controls it, I believe. Assuming my memory
    is working, that attribute tells Cayenne to not use the AUTO_PK_SUPPORT
    table and instead rely on MySQL to auto-increment the value and return
    it to Cayenne.

    /dev/mrg

    -----Original Message-----
    From: Borut Bolcina [mailto:bo..ajdi.si]
    Sent: Wednesday, June 21, 2006 2:53 AM
    To: cayenne-use..ncubator.apache.org
    Subject: MySql auto generated PK

    Is something broken or am I missing something in my setup, but when
    inserting, Cayenne is generating PK instead of using AUTO_PK_SUPPORT.

    I use Cayenne 1.2RC1, mysql-connector-java-3.1.13
    This is mapping:
    <db-attribute name="oid" type="INTEGER" isPrimaryKey="true"
    isGenerated="true" isMandatory="true"/>

    and this is how I generate the tables
    MySQLAdapter mysqlDbAdapter = new MySQLAdapter();
    mysqlDbAdapter.setSupportsFkConstraints(true);
    mysqlDbAdapter.setSupportsGeneratedKeys(true);
    generator = new DbGenerator(mysqlDbAdapter, dataMap);
    generator.setShouldCreatePKSupport(true);
    generator.setShouldCreateFKConstraints(true);
    generator.setShouldDropTables(false);
    generator.runGenerator(dataSource);

    AUTO_PK_SUPPORT table gets generated and correctly populated with table
    names and initial value 200.

    When inserting records, Cayenne inserts records with PK 1,2,3,...
    ignoring AUTO_PK_SUPPORT. No SELECT FROM AUTO_PK_SUPPORT happens in log
    files.

    What did I miss. I think this worked months ago when exercising Cayenne
    with some simple examples.

    Cheers,
    Borut



    This archive was generated by hypermail 2.0.0 : Wed Jun 21 2006 - 09:13:46 EDT