Cool. Also I just committed the fix per https://issues.apache.org/jira/browse/CAY-1409 .

On Mar 28, 2010, at 10:06 PM, John Armstrong wrote:

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-






Reply via email to