it was mapped as
<db-attribute ... type="INTEGER" length="10"/>
I changed the type to BIGINT and now the PK is always a Long. Great,
thanks. This was hard to guess.
Is the jdbc type mapping messed up for the MySQL Adapter?
When I reverse engineer the db from scratch
INT UNSIGNED is mapped as <db-attribute ... type="INTEGER" length="10"/>
INT is mapped as <db-attribute ... type="INTEGER" length="11"/>
Could you give me a hint where to change this mapping so I do not have to
set it to BIGINT manually?
thank you
Tobias
Andrus Adamchik
<andru..bjectsty
le.org> To
cayenne-use..ncubator.apache.org
Tuesday, 29 cc
August 2006 11:00
Subject
Re: Problems with MySql id type
Please respond to with AUTO_INCREMENT
cayenne-use..ncu
bator.apache.org
How is the column mapped in the Modeler? Have you tried mapping it as
BIGINT?
Andrus
On Aug 28, 2006, at 1:22 PM, Tobias SCHOESSLER wrote:
>
> I use cayenne 1.2, MySql. AUTO_INCREMENT ids
>
> the type of the id field in the mysql schema is set to
>
> INT NOT NULL AUTO_INCREMENT UNIQUE
>
> I create an object of this table with cayenne and commit. I see the
> row
> inserted ok. When accessing the Id of the object via
>
> getObjectId().getIdSnapshot().get(this.FOLDER_UID_PK_COLUMN)
>
> in the same DataContext the type of the Object retruned is a Long.
> (Though
> I would have expected it to be an Integer from the MySql jdbc
> documentation)
>
> When I use a fresh DataContext and retrieve the same row the id object
> returned by
>
> getObjectId().getIdSnapshot().get(this.FOLDER_UID_PK_COLUMN)
>
> seems to be an Integer ?
>
>
>
> I tried to set the type to
>
> INT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE
>
> which is supposed to be of Long type from the jdbc type
> documentation of
> MySql.
>
> to force the id object always to be a Long but cayenne still
> returns an
> Integer when reading from the db.
>
> any ideas?
>
> thanks
>
>
>
>
This archive was generated by hypermail 2.0.0 : Tue Aug 29 2006 - 07:16:19 EDT