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