openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob Wisniewski (JIRA)" <j...@apache.org>
Subject [jira] Created: (OPENJPA-292) Extra JOIN on eager bi-directional relationship
Date Tue, 24 Jul 2007 20:29:31 GMT
Extra JOIN on eager bi-directional relationship
-----------------------------------------------

                 Key: OPENJPA-292
                 URL: https://issues.apache.org/jira/browse/OPENJPA-292
             Project: OpenJPA
          Issue Type: Bug
    Affects Versions: 1.0.0
            Reporter: Rob Wisniewski


I have a pretty simple 1-1 bi-directional relationship.  If I set both sides to eager and
then do a select on one side, the following SQL is executed:

SELECT t1.USERID, t2.ACCOUNTID, t2.BALANCE
, t2.CREATIONDATE, t2.LASTLOGIN, t2.LOGINCOUNT, t2.LOGOUTCOUNT, t2.OPENBALANCE,
t1.ADDRESS, t1.CREDITCARD, t1.EMAIL, t1.FULLNAME, t1.PASSWD FROM ACCOUNTEJB t0 I
NNER JOIN ACCOUNTPROFILEEJB t1 ON t0.PROFILE_USERID = t1.USERID LEFT OUTER JOIN
ACCOUNTEJB t2 ON t1.USERID = t2.PROFILE_USERID WHERE t0.ACCOUNTID = ?  optimize
for 1 row

the relationship is account <-> accountprofile.   you can see we actually do 2 joins.

This is one in a family of problems which was supposed to have been solved in https://issues.apache.org/jira/browse/OPENJPA-134

There is also a related issue where an uneeded load is done, which I documented a while ago
in https://issues.apache.org/jira/browse/OPENJPA-241

I think this is a general comment on the lack of sophistication of the persistence engine
to understand when data is logically going to be there anyways, and not to add joins or trigger
data loading.

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


Mime
View raw message