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 <and...@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 <and...@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- >>>> >>>> >>> >>> >