On Feb 7, 2010, at 5:36 PM, Andrey Razumovsky wrote:

As far as i remember, the problem is if we have a mapping:
entities:
A
B extends A - mapped in same db table
C

dbRel:
toA, cArray (from C to A and vice versa) - Is Mandatory

objRel - toA, cArray (from C to A and vice versa)

So, there's isn't any ObjRel from B to C and therefore Cayenne adds runtime
relationship.
Problems come when we're setting relationship via C.setToA(..) and commit. Cayenne thinks runtime rel from C to B is mandatory (after all, it's mapped
to mandatory dbRel) and fails to commit.

Created a patch from this description against 3.0 branch:

https://issues.apache.org/jira/secure/attachment/12435122/CAY-1009-Andreys-case.patch

A == Sti2Inheritance
B == Sti2InheritanceSub
C == Sti2Related

I still can't reproduce the failure, as there's no runtime relationship created between B and C, either with or without CAY-1009 commit.

Andrus

Reply via email to