This is not a bug. HQL is an OO query language. You've queried the superclass, not the subclass. It seems pretty natural to me that you can't order by a subclass attribute.
What you want and the patch provided does work only in particular cases.
"from java.lang.Object o order by o.publicPrice" cannot be done in SQL since java.lang.Object has to be queried in several SQL SELECTs
I recommend you order at the Java level

2.1 is *not* abandonned. We are actively providing bug fixes and support of the 2.1 family.
We are working very hard on H3 to provide tons of new features, you can understand we cannot backport and keep several branch of code in a feature working process.

Spring integration of H3 should be pretty straightforward (import update net.sf.hibernate -> org.hibernate) That's basically all you need (maybe check for HibernateException since it moved to the RuntimeException hierarchy).

March, Andres wrote:
Well, couldn't it be reclassified as a bug fix?  Not being able to navigate associations because of a hard coded "this" in the construction of the order by seems like something many people would face.  I could be wrong.

Anyway this patch has been around a long time and as far as I can tell was submitted properly.  More importantly H3 is not even released and support for it in Spring is even farther off.

Any reason 2.1 is being abandoned so soon?  I'm not asking for another 2.1 release.  I don't see the harm in applying it to 2.1 CVS head but maybe I'm short-sighted.

  
-----Original Message-----
From: Emmanuel Bernard [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, September 29, 2004 12:59 PM
To: March, Andres
Cc: William Draï; Emmanuel Bernard; [EMAIL PROTECTED]
Subject: Re: [Hibernate] Polymorphic queries, where and order by

Sorry, no new feature will be added to the 2.1 branch.

March, Andres wrote:

    
We can't use H3 unfortunately because we do not have enough time to
add H3 support to Spring. Is there any way this patch can be applied
to H2?

------------------------------------------------------------------------

*From:* William Draï [mailto:[EMAIL PROTECTED]]
*Sent:* Wednesday, September 29, 2004 11:22 AM
*To:* Emmanuel Bernard
*Cc:* March, Andres; [EMAIL PROTECTED]
*Subject:* Re: [Hibernate] Polymorphic queries, where and order by

I haven't yet tested with H3. I think there were no change logs
related to this.
I will try as soon as I have enough time.

We can live without this "feature" for a few more weeks.

Thank you for your anwser.


Speaking from memory,
Gavin did implement something on the (now dead 2.2 branch). It now has
been reporded on H3. Did you test it?
I can remembe, he'd implemented the transparent subclassing (no
special keyword).

March, Andres wrote:

I'm sorry if I expand the subject a little.  We pulled a patch off the
      
forums some where that allows us to order by any association.  I was
wondering why this patch never got applied.  It seems it would be useful
in this situation as well.  I am really uncomfortable using a patched
hibernate because there are less eyes on it and it makes upgrading harder.
I can submit the patch as we've applied it if you like.  But also let me
know if there is any reason for not allowing this type of functionality.
It has been extremely useful to us in our searches as I think it would be
to others.
    



      
-----Original Message-----

From: [EMAIL PROTECTED] <mailto:hibernate-
        
[EMAIL PROTECTED]> [mailto:hibernate-devel-
    
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>] On
        
Behalf Of William Draï
    
Sent: Tuesday, September 28, 2004 1:31 AM

To: [EMAIL PROTECTED] <mailto:hibernate-
        
[EMAIL PROTECTED]>
    
Subject: [Hibernate] Polymorphic queries, where and order by



Let's say we have the following (simplified) mapping :



<class name="A" table="T">

   <property name="field1" type="string"/>



   <subclass name="B">

      <property name="field2" type="string"/>

   </subclass>

</class>



Now we can execute any HQL query on the class A using the field1, for

example

"from A a where a.field1 like 'anything%'" or "from A a order by
        
a.field1"
    

The problems come when we want to use the field2 with the same queries.

Of couse in simple SQL it is possible to do

select * from T order by field2



But in HQL, "from A a order by a.field2" rightly fails because field2 is

not defined

for class A.



This causes problems in sortable or filtered data tables where the user

can sort or filter

by any column he wants.

There is currently only two options :

- allowing to sort only on columns of class A : possible but my users

won't be really happy

- "casting" the query to class B when the user sorts on a column of

class B : that means that the results

   count of the query is not the same when it is sorted than when it is

not ; it completely breaks the

   semantics of sorting/filtering



I understand it does not follow the OO approach of HQL but it would be

really useful to have an additional

syntax to allow using fields of the subclass in HQL queries, something

like "select a from A+ a order by a.field2",

or maybe an option in the Query interface like

query.setUseInheritedProperties(true).



What do you think of this ?



Note : this is an extension of the JIRA HB-792 and could allow to

resolve this case in a better way





William







-------------------------------------------------------

This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170

Project Admins to receive an Apple iPod Mini FREE for your judgement on

who ports your project to Linux PPC the best. Sponsored by IBM.

Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php

_______________________________________________

hibernate-devel mailing list

[EMAIL PROTECTED] <mailto:hibernate-
        
[EMAIL PROTECTED]>
    
https://lists.sourceforge.net/lists/listinfo/hibernate-devel



        


-------------------------------------------------------

This SF.net email is sponsored by: IT Product Guide on ITManagersJournal

Use IT products in your business? Tell us what you think of them. Give us

Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out
      
more
    
http://productguide.itmanagersjournal.com/guidepromo.tmpl

_______________________________________________

hibernate-devel mailing list

[EMAIL PROTECTED] <mailto:hibernate-
      
[EMAIL PROTECTED]>
    
https://lists.sourceforge.net/lists/listinfo/hibernate-devel







--

Emmanuel Bernard

01.55.21.52.14

Fnac - DSI

Direction France - Nouvelles technologies

67, boulevard du Gal Leclerc

92612 Clichy Cedex

      
--
Emmanuel Bernard
[EMAIL PROTECTED]
http://www.hibernate.org
    

  

-- 
Emmanuel Bernard
[EMAIL PROTECTED]
http://www.hibernate.org

Reply via email to