[
https://issues.apache.org/jira/browse/OPENJPA-1116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ashish Paliwal updated OPENJPA-1116:
------------------------------------
Attachment: OPENJPA-1116-2.0.0(2).patch
OPENJPA-1116-2.0.0.patch
testStrategyAnnotation.jar
The test case along with my InnerJoinStrategy and persistent entities person
and Address.
2 Patches:
First for the dummy test case which I created to check the @strategy
annotation,
Second for the suggested change in AnnotationPersistenceMappingParser class.
> Annotation Strategy not working
> -------------------------------
>
> Key: OPENJPA-1116
> URL: https://issues.apache.org/jira/browse/OPENJPA-1116
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 2.0.0
> Environment: Windows XP, openjpa-2.0.0 source code
> Reporter: Ashish Paliwal
> Attachments: OPENJPA-1116-2.0.0(2).patch, OPENJPA-1116-2.0.0.patch,
> testStrategyAnnotation.jar
>
>
> I had 2 entities, Person and Address where person had id, age, name and
> address_id and person had id and city.
> I tried to apply the Strategy on Address so that upon execution of JPQL
> query "Select p from Person p" the SQL query fired should make Inner Join
> rather than the default Left Outer Join.
> I created a Strategy class InnerJoinStrategy that makes sure this happens by
> overriding the selectEagerJoin() method and gave @Strategy(value =
> "somepackage.InnerJoinStrategy" ) in Person class before getAddress() method.
> But unexpectedly, it was still making the LeftOuterJoin rather than the
> desired InnerJoin. Upon debugging I found that my strategy was never being
> called. I debugged further and found that in
> AnnotationPersistenceMappingParser class in parseMemberMappingAnnotations()
> method, for the case STRAT( which belongs to the Strategy annotation) the
> strategy value was being set in ValueMappingInfo, while from
> RuntimeStrategyInstaller it was being fetched from FieldMappingInfo. I
> changed the code to set it in FieldMappingInfo and everything worked fine.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.