Andrus Adamchik created CAY-1728:
------------------------------------
Summary: Custom types used for PK are causing grief in
relationships
Key: CAY-1728
URL: https://issues.apache.org/jira/browse/CAY-1728
Project: Cayenne
Issue Type: Bug
Components: Core Library
Affects Versions: 3.1B1, 3.2M1
Reporter: Andrus Adamchik
Assignee: Andrus Adamchik
1. Map an entity with meaningful PK, type of that PK being a non-standard type
for a given type of column (e.g. attached test case demonstrating the problem
maps a VARCHAR column to java.util.UUID).
2. Map another entity with an FK to the first entity, and create a to-one
relaionship.
3. Fetch entity 2 and try to read the relationship to entity 1. The result is a
FaultFailureException similar to this one:
org.apache.cayenne.FaultFailureException: [v.3.2M1-SNAPSHOT
${project.build.date} ${project.build.time}] Error resolving fault for
ObjectId: <ObjectId:UuidPkEntity, ID=8251ae98-de42-404c-9cd0-9c1b29410604> and
state (hollow). Possible cause - matching row is missing from the database.
at org.apache.cayenne.BaseContext.prepareForAccess(BaseContext.java:316)
at
org.apache.cayenne.CayenneDataObject.readProperty(CayenneDataObject.java:174)
at
org.apache.cayenne.testdo.testmap.auto._UuidPkEntity.getId(_UuidPkEntity.java:26)
at
org.apache.cayenne.access.UUIDTest.testUUIDMeaningfulPkSelectViaRelationship(UUIDTest.java:107)
The reason is that expected ObjectId of the target entity contains a value of
type String instead of UUID, so expected and fetched ObjectId do not match, and
Cayenne thinks there's no object for relationship.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira