cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Armstrong <siber...@gmail.com>
Subject Re: AUTO_PK_SUPPORT, mysql and join tables
Date Sun, 28 Mar 2010 19:06:32 GMT
Thanks Andrus!

I have worked around it for now by populating the AUTO_PK_TABLE as required
so Cayenne can lock and unlock it (in case anyone else is having this
problem).

John-

On Sun, Mar 28, 2010 at 12:00 PM, Andrus Adamchik <andrus@objectstyle.org>wrote:

> I just wrote a unit test, and it looks like indeed in the case of a
> flattened relationship with "Database-generated" PK, AUTO_PK_TABLE is
> accessed, although after that Cayenne does the right thing and builds a
> query based on an auto-incremented PK, ignoring what's returned from
> AUTO_PK_TABLE. So this is still a bug, albeit a minor one, not affecting the
> app correctness. I will open a bug report.
>
> Andrus
>
>
>
> On Mar 28, 2010, at 6:56 PM, John Armstrong wrote:
>
>  Hi Andrus,
>>  I downgraded to 3.0M6 from RC2 a few weeks ago to troubleshoot some
>> problems. I tested this in both M6 and RC2 with the same results.
>>
>> I have a few other join tables that are similar and exhibit the same
>> behavior.
>> Tx!
>> J
>>
>> Tthe flattened relationship is defined as :
>>
>> <db-relationship name="userprojectsArray" source="PROJECT"
>> target="USERPROJECTS" toMany="true">
>> <db-attribute-pair source="ID" target="PROJECT"/>
>> </db-relationship>
>>
>> <db-relationship name="userprojectsArray" source="USER"
>> target="USERPROJECTS" toMany="true">
>> <db-attribute-pair source="ID" target="PGUSER"/>
>> </db-relationship>
>>
>> <db-relationship name="toProject" source="USERPROJECTS" target="PROJECT"
>> toMany="false">
>> <db-attribute-pair source="PROJECT" target="ID"/>
>> </db-relationship>
>> <db-relationship name="toUser" source="USERPROJECTS" target="USER"
>> toMany="false">
>> <db-attribute-pair source="PGUSER" target="ID"/>
>>
>>
>> On Sun, Mar 28, 2010 at 7:36 AM, Andrus Adamchik <andrus@objectstyle.org
>> >wrote:
>>
>>  Odd. Join table with its own (non-propagated) PK should work the same as
>>> any other table. Which vesrion of Cayenne is this and are you using
>>> flattened relationships across the join table?
>>>
>>> Andrus
>>>
>>>
>>> On Mar 28, 2010, at 9:43 AM, John Armstrong wrote:
>>>
>>> Hi all,
>>>
>>>> I am using mysql with all database generated pks and auto_increment.
>>>>
>>>> This works fine for all tables except join tables. When accessing a join
>>>> table cayenne tries to access the AUTO_PK_TABLE rather then relying on
>>>> the
>>>> auto_increment.
>>>>
>>>> My join tables are configured identically :
>>>>
>>>> <db-entity name="USERPROJECTS" catalog="pgi">
>>>> <db-attribute name="CREATIONDATE" type="TIMESTAMP" length="19"/>
>>>> <db-attribute name="ID" type="INTEGER" isPrimaryKey="true"
>>>> isGenerated="true" isMandatory="true" length="10"/>
>>>> <db-attribute name="PGUSER" type="INTEGER" length="10"/>
>>>> <db-attribute name="PROJECT" type="INTEGER" length="10"/>
>>>> </db-entity>
>>>> <obj-entity name="Userprojects" className="com.pgi.common.Userprojects"
>>>> dbEntityName="USERPROJECTS">
>>>> <obj-attribute name="creationdate" type="java.util.Date"
>>>> db-attribute-path="CREATIONDATE"/>
>>>> <obj-attribute name="id" type="java.lang.Integer"
>>>> db-attribute-path="ID"/>
>>>> </obj-entity>
>>>>
>>>> Any ideas?
>>>>
>>>> John-
>>>>
>>>>
>>>
>>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message