This is a rare combination of query parameters, but it is perfectly valid.
- ObjEntity A with some set of attributes
- ObjEntity B inherited from A with one additional attribute with Enum type (it can be any type that isn't matched directly with underlying DB type)
- ObjEntity C that have a relationship with A
- Select C with prefetch of A
- IllegalArgumentException when converting result set into objects
It seems like java type of this additional attribute is not taken into account and defined by DbAttribute type only.
P.S. This one was found in cayenne-client stack in 4.0.B2 version, it is hard to find directly as underlying data storage hides conversion error until attribute is fetched directly.