[ 
https://issues.apache.org/jira/browse/OPENJPA-731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fay Wang updated OPENJPA-731:
-----------------------------

    Attachment: testcase.jar

Hi Enrico, attached is the test case based on your report. However, this test 
case works fine. Could you attach your entity classes (TblAmdctl.java, and 
TblAmddes.java)? Also, do you use find operation or Query to get the parent 
entity? Can you provide a code snippet for your operation? Thanks!

> Bug on FetchType.EAGER when QuerySQLCache is turned on
> ------------------------------------------------------
>
>                 Key: OPENJPA-731
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-731
>             Project: OpenJPA
>          Issue Type: Bug
>            Reporter: Fay Wang
>         Attachments: testcase.jar
>
>
> This JIRA is open on behalf of Enrico:
> OpenJPA 1.2.0 Bug on FetchType.EAGER
> Friday, September 19, 2008 12:49 AM
> From: "egoosen" <[EMAIL PROTECTED]>
> Add sender to Contacts
> To: [EMAIL PROTECTED]
> I'm experiencing a strange bug in 1.2.0, on an eager loaded one to many
> relationship.
> The first time I run the code, openJPA retrieves the parent entity and eager
> fetches the CORRECT child entities.
> The second time around, it fetches the parent entity and fetches the
> INCORRECT child entities (specifically, it fetches the child entities of the
> parent entity in the previous query).
> Here's the SQL to illustrate:
> First run:
> SELECT t0.AMDCTL_ID, t0.VRS_NBR, t0.AMDSEQ_CDE, t0.DPLORD_NBR, t0.FND_CDE,
> t0.RSL_DTE FROM EBSTATUS.TBL_AMDCTL t0 WHERE t0.FND_CDE = ?
> [params=(String) 0000001]
> SELECT t0.AMDCTL_ID, t1.AMDDES_ID, t1.VRS_NBR, t1.AMD_DES, t1.AMDCTL_ID,
> t1.EFC_DTE FROM EBSTATUS.TBL_AMDCTL t0 INNER JOIN EBSTATUS.TBL_AMDDES t1 ON
> t0.AMDCTL_ID = t1.AMDCTL_ID WHERE t0.FND_CDE = ? ORDER BY t0.AMDCTL_ID ASC
> [params=(String) 0000001]
> Second run:
> SELECT t0.AMDCTL_ID, t0.VRS_NBR, t0.AMDSEQ_CDE, t0.DPLORD_NBR, t0.FND_CDE,
> t0.RSL_DTE FROM EBSTATUS.TBL_AMDCTL t0 WHERE t0.FND_CDE = ?
> [params=(String) 0001001]
> SELECT t0.AMDCTL_ID, t1.AMDDES_ID, t1.VRS_NBR, t1.AMD_DES, t1.AMDCTL_ID,
> t1.EFC_DTE FROM EBSTATUS.TBL_AMDCTL t0 INNER JOIN EBSTATUS.TBL_AMDDES t1 ON
> t0.AMDCTL_ID = t1.AMDCTL_ID WHERE t0.FND_CDE = ? ORDER BY t0.AMDCTL_ID ASC
> [params=(String) 0000001]
> Somehow its caching the second query, even though I've turned off the
> DataCache and QueryCache.
> I've had to revert back to OpenJPA 1.1.0.
> Here's my mappings:
> TblAmdctl.java
> @OneToMany(mappedBy="tblAmdctl",fetch = FetchType.EAGER,cascade = {
> CascadeType.PERSIST,CascadeType.MERGE})
> private Collection<TblAmddes> tblAmddess = new ArrayList<TblAmddes>();
> TblAmddes.java
> @ManyToOne(fetch = FetchType.LAZY,cascade = {
> CascadeType.PERSIST,CascadeType.MERGE })
> @JoinColumns([EMAIL PROTECTED](name =
> "AMDCTL_ID",referencedColumnName="AMDCTL_ID")})   
> @ForeignKey
> private TblAmdctl tblAmdctl; 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to