[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-957) SubqueryExpression throws ClassCastException on DetachedCriteria subqueries

john john (JIRA) noreply at atlassian.com
Mon Dec 18 10:21:05 EST 2006


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-957?page=comments#action_25656 ] 

john john commented on HHH-957:
-------------------------------

http://www2.tltc.ttu.edu/kelly/_5346disc/00000597.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/00000598.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/00000599.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/0000059a.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/0000059b.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/0000059c.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/0000059d.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/0000059e.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/0000059f.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a0.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a1.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a2.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a3.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a4.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a5.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a6.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a7.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a8.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005a9.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005aa.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005ab.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005ac.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005ad.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005ae.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005af.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b0.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b1.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b2.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b3.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b4.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b5.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b6.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b7.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b8.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005b9.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005ba.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005bb.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005bc.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005bd.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005be.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005bf.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c0.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c1.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c2.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c3.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c4.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c5.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c6.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c7.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c8.htm
http://www2.tltc.ttu.edu/kelly/_5346disc/000005c9.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/000000fc.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/000000fd.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/000000fe.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/000000ff.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000100.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000101.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000102.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000103.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000104.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000105.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000106.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000107.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000108.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000109.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000010a.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000010b.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000010c.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000010d.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000010e.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000010f.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000110.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000111.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000112.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000113.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000114.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000115.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000116.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000117.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000118.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000119.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000011a.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000011b.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000011c.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000011d.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000011e.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/0000011f.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000120.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000121.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000122.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000123.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000124.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000125.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000126.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000127.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000128.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/00000129.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/000000f5.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/000000f6.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/000000f7.htm
http://www.acadweb.wwu.edu/courses/math312-TR/_disc1/000000f8.htm


> SubqueryExpression throws ClassCastException on DetachedCriteria subqueries
> ---------------------------------------------------------------------------
>
>          Key: HHH-957
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-957
>      Project: Hibernate3
>         Type: Bug

>     Versions: 3.0.5
>  Environment: Oracle 9i, but probably not DB specific.
>     Reporter: Rob MacGrogan
>     Priority: Minor
>  Attachments: SubqueryExpression.java, SubqueryExpression.java, subcriteria-patch.txt
>
>
> The toSqlString() method in SubqueryExpression contains a line that casts a Criteria object to CriteriaImpl in order to call the getSession() method. However, if DetachedCriteria is used as a subquery in a Criteria query, the underlying Criteria object will be CriteriaImpl.Subcriteria, thus a ClassCastException will be thrown.
> I have created a bug fix. Add the following method to SubqueryExpression:
>   private SessionImpl getSessionImpl(Criteria criteria) {
>     SessionImpl session = null;
>     if (criteria instanceof CriteriaImpl) {
>       CriteriaImpl impl = (CriteriaImpl)criteria;
>       session = impl.getSession();
>     }
>     else if (criteria instanceof CriteriaImpl.Subcriteria){
>       CriteriaImpl.Subcriteria sub = (CriteriaImpl.Subcriteria)criteria;
>       //Alert! Recursive call here!
>       session = getSessionImpl(sub.getParent());
>     }
>     return session;
>   }
> And then replace the offending line in toSqlString() with a call to the new method.
> Attached is SubqueryExpression with proposed changes in place.

-- 
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