Heath Thomann created OPENJPA-2571:
--------------------------------------
Summary: Criteria Builder query generates extra alias when using
multiselect.
Key: OPENJPA-2571
URL: https://issues.apache.org/jira/browse/OPENJPA-2571
Project: OpenJPA
Issue Type: Bug
Components: criteria
Affects Versions: 2.2.3, 2.4.0
Reporter: Heath Thomann
Priority: Critical
I have a scenario (see attached .test file) where an extra alias is generated
for a query created by CriteriaBuilder. For the given test, this SQL is
generated:
SELECT t0.empl_cnt FROM
T_FACT_WORK_ASGNMT t0, T_DIM_DAY t1, T_DIM_DAY t3
WHERE (t0.CLNT_OBJ_ID = ? AND t1.ROLL_13_MNTH_IND = ? AND t0.pers_obj_id IN (
SELECT t2.pers_obj_id FROM T_FACT_WORK_ASGNMT t2 WHERE
(t2.CLNT_OBJ_ID = ? AND t3.MNTH_STRT_DAY_KY >= ?)))
Notice that T_DIM_DAY is aliased twice.
If I do a 'toString' on the CriteriaQuery which the test creates, and then
create/execute a query using the string, the generated query is exactly like
the above SQL, minus the 'T_DIM_DAY t3'. This would seem to tell me that we
take a different path when creating/executing a query with a 'CriteriaQuery' as
opposed to just a JPQL string.
Thanks,
Heath
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)