cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: AUTO_PK_SUPPORT, mysql and join tables
Date Sun, 28 Mar 2010 19:00:23 GMT
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
View raw message