SubqueryExpression create wrong sql in the case DetachedCriteria has Subcriteria
--------------------------------------------------------------------------------
Key: HHH-2868
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2868
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.2.5
Environment: oracle
Reporter: Sunao Suzuki
Priority: Critical
SubqueryExpression create wrong sql in the case DetachedCriteria has Subcriteria(inner
join).
in the case using DetachedCriteria( has Subcriteria) like below , it's works good.
DetachedCriteria dc = DetachedCriteria.forClass(Person.class);
DetachedCriteria in = dc.createCriteria("emails");
in.add(Restrictions.eq("personEmailId", (long)1));
dc.setProjection(Projections.id());
Criteria c = dc.getExecutableCriteria(session);
c.list();
select this_.PERSON_ID as y0_ from PERSON this_ inner join PERSON_EMAIL personemai1_ on
this_.PERSON_ID=personemai1_.FK_PERSON_ID where personemai1_.PERSON_EMAIL_ID=?
But in the case using DetachedCriteria( has Subcriteria) for subquery like below, it
doesn't work.
DetachedCriteria dc = DetachedCriteria.forClass(Person.class);
DetachedCriteria in = dc.createCriteria("emails");
in.add(Restrictions.eq("personEmailId", (long)1));
dc.setProjection(Projections.id());
Criteria c = session.createCriteria(Person.class);
c.add(Subqueries.propertyIn("personId", dc));
c.setProjection(Projections.id());
c.list();
select this_.PERSON_ID as y0_ from PERSON this_ where this_.PERSON_ID in (select
this0__.PERSON_ID as y0_ from PERSON this0__ where personemai1_.PERSON_EMAIL_ID=?)
I hope fix quickly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira