Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.2.M3
-
None
Description
I tried to implement a simple vertical inheritance with two object entities. The super entity has an Embeddable as one of its object attribute with no attribute overrides.
I noticed the problem when trying to #validateForSave in the child entity. The ObjEntity#getAttributes call collect all the attributes, and also consults the super entity, but in ObjEntity#appendAttributes it creates a copy of the attribute descriptor. When doing this, it creates a uniform ObjAttribute, independent of the original type (eg. EmbeddedAttribute).
Later, the validation method makes an exception for embedded attributes, but in my case, this exception does not get triggered and results in a CayenneRuntimeException thrown because the "ObjAttribute does not have a corresponding DbAttribute".
I also get this error in the Modeler, and this seems to me a bug.
Also, I'm using 4.2.M2, but there is no such version here in Jira...