[
https://issues.apache.org/jira/browse/CAY-2840?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jadon Hansell updated CAY-2840:
-------------------------------
Description:
If you use a joint prefetch on a belongs-to relationship whose target is using
vertical inheritance, the attributes on the child class are set to null instead
of using the results from the database.
It looks like this is happening when the attribute is read in
DescriptorColumnExtractor.visitAttribute, it includes the 'p:' prefetch prefix
in the data row key that gets built. Later, the data row result is read from a
map without the prefix in the key, and is not found. This only happens on a
joint prefetch, disjoint and disjointById work correctly.
was:
If you use a joint prefetch a belongs-to relationship whose target is using
vertical inheritance, the attributes on the child class are set to null instead
of using the results from the database.
It looks like this is happening when the attribute is read in
DescriptorColumnExtractor.visitAttribute, it includes the 'p:' prefetch prefix
in the data row key that gets built. Later, the data row result is read from a
map without the prefix in the key, and is not found. This only happens on a
joint prefetch, disjoint and disjointById work correctly.
> Vertical Inheritance: Missing subclass attributes with joint prefetch
> ---------------------------------------------------------------------
>
> Key: CAY-2840
> URL: https://issues.apache.org/jira/browse/CAY-2840
> Project: Cayenne
> Issue Type: Bug
> Components: Core Library
> Affects Versions: 4.2, 5.0-M1
> Reporter: Jadon Hansell
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> If you use a joint prefetch on a belongs-to relationship whose target is
> using vertical inheritance, the attributes on the child class are set to null
> instead of using the results from the database.
> It looks like this is happening when the attribute is read in
> DescriptorColumnExtractor.visitAttribute, it includes the 'p:' prefetch
> prefix in the data row key that gets built. Later, the data row result is
> read from a map without the prefix in the key, and is not found. This only
> happens on a joint prefetch, disjoint and disjointById work correctly.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)