Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 345962

Summary: Join fetch query when using tenant discriminator column fails.
Product: z_Archived Reporter: Guy Pelletier <guy.pelletier>
Component: EclipselinkAssignee: Nobody - feel free to take it <nobody>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: eclipselink.orm-inbox
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Proposed changes
none
Updated proposal
none
Final patch
none
Backport to 2.2.1
none
Minor update to previous patch none

Description Guy Pelletier CLA 2011-05-16 10:53:38 EDT
Background: Bug 337323

The following query:

TypedQuery<MafiaFamily> q = em.createQuery("SELECT m FROM MafiaFamily m ORDER BY m.id DESC", MafiaFamily.class);
q.setHint(QueryHints.FETCH, "m.mafiosos");
q.getResultList();

Executed against the testing model from background bug fails with:

nternal Exception: java.sql.SQLException: ORA-00904: "JPA_MAFIOSO"."TENANT_ID": invalid identifier

Error Code: 904
Call: SELECT t5.ID, t5.TENANT_ID, t6.ID, t5.NAME, t6.REVENUE, t0.ID, t0.DTYPE, t0.TENANT_ID, t0.FIRSTNAME, t0.GENDER, t0.LASTNAME, t0.FAMILY_ID, t1.ID, t1.UNDERBOSS_ID, t2.ID, t3.ID, t3.UNDERBOSS_ID, t4.ID, t4.CAPO_ID FROM JPA_MAFIOSO t0 LEFT OUTER JOIN JPA_BOSS t1 ON (t1.ID = t0.ID) LEFT OUTER JOIN JPA_UNDERBOSS t2 ON (t2.ID = t0.ID) LEFT OUTER JOIN JPA_CAPO t3 ON (t3.ID = t0.ID) LEFT OUTER JOIN JPA_SOLDIER t4 ON (t4.ID = t0.ID), JPA_FAMILY_REVENUE t6, JPA_MAFIA_FAMILY t5 WHERE (((t6.ID = t5.ID) AND (t5.TENANT_ID = ?)) AND ((t0.FAMILY_ID = t5.ID) AND (t0.TENANT_ID = JPA_MAFIOSO.TENANT_ID))) ORDER BY t5.ID DESC
	bind => [1 parameter bound]
Query: ReadAllQuery(referenceClass=MafiaFamily sql="SELECT t5.ID, t5.TENANT_ID, t6.ID, t5.NAME, t6.REVENUE, t0.ID, t0.DTYPE, t0.TENANT_ID, t0.FIRSTNAME, t0.GENDER, t0.LASTNAME, t0.FAMILY_ID, t1.ID, t1.UNDERBOSS_ID, t2.ID, t3.ID, t3.UNDERBOSS_ID, t4.ID, t4.CAPO_ID FROM JPA_MAFIOSO t0 LEFT OUTER JOIN JPA_BOSS t1 ON (t1.ID = t0.ID) LEFT OUTER JOIN JPA_UNDERBOSS t2 ON (t2.ID = t0.ID) LEFT OUTER JOIN JPA_CAPO t3 ON (t3.ID = t0.ID) LEFT OUTER JOIN JPA_SOLDIER t4 ON (t4.ID = t0.ID), JPA_FAMILY_REVENUE t6, JPA_MAFIA_FAMILY t5 WHERE (((t6.ID = t5.ID) AND (t5.TENANT_ID = ?)) AND ((t0.FAMILY_ID = t5.ID) AND (t0.TENANT_ID = JPA_MAFIOSO.TENANT_ID))) ORDER BY t5.ID DESC")
Comment 1 Guy Pelletier CLA 2011-05-16 11:56:33 EDT
Created attachment 195749 [details]
Proposed changes
Comment 2 Guy Pelletier CLA 2011-05-20 14:17:13 EDT
Created attachment 196242 [details]
Updated proposal
Comment 3 Guy Pelletier CLA 2011-05-24 10:45:10 EDT
Created attachment 196442 [details]
Final patch

More tests to be added to the root bug (337323)
Comment 4 Guy Pelletier CLA 2011-05-24 11:04:44 EDT
Changes have been submitted.

Verified by: James Sutherland
Comment 5 Guy Pelletier CLA 2011-06-16 10:44:44 EDT
Created attachment 198114 [details]
Backport to 2.2.1
Comment 6 Guy Pelletier CLA 2011-06-16 10:45:55 EDT
Fix was backported to 2.2.1.

Originally reviewed by James Sutherland.
Comment 7 Guy Pelletier CLA 2011-06-20 14:12:29 EDT
Created attachment 198275 [details]
Minor update to previous patch

Made an error on the original backport patch.

Also correct some tab vs. space issues.
Comment 8 Eclipse Webmaster CLA 2022-06-09 10:34:41 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink