[hibernate-issues] [Hibernate-JIRA] Resolved: (HHH-2868) SubqueryExpression create wrong sql in the case DetachedCriteria has Subcriteria

Diego Pires Plentz (JIRA) noreply at atlassian.com
Wed Oct 3 14:17:25 EDT 2007


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Diego Pires Plentz resolved HHH-2868.
-------------------------------------

      Assignee: Diego Pires Plentz
    Resolution: Duplicate

> 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
>            Assignee: Diego Pires Plentz
>            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.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list