I know exactly what is happening here.
Some databases, Oracle for one, insist that columns in an ORDER BY
clause also appear in the SELECT clause.
JBossQL generates queries like:
SELECT pk FROM MyEntity WHERE [predicate] ORDER BY someOtherColumn
Oracle, for instance, insists upon:
SELECT pk, someOtherColumn FROM mytable WHERE [predicate] ORDER BY
someOtherColumn
I've worked around this by using load-groups and an on-find strategy:
<load-groups>
<load-group>
<load-group-name>myloadgroup</load-group-name>
<field-name> someOtherColumn </field-name>
</load-group>
</load-groups>
<query>
<query-method>
<method-name>ejbSelectInSequence</method-name>
<method-params>
</method-params>
</query-method>
<jboss-ql>SELECT DISTINCT OBJECT(s) FROM MyEntity AS s
ORDER BY s. someOtherColumn ASC</jboss-ql>
<read-ahead>
<strategy>on-find</strategy>
<page-size>16</page-size>
<eager-load-group> myloadgroup </eager-load-group>
</read-ahead>
</query>
But it sure would be neater if JBoss could automatically include ORDER
BY columns in the SELECT clause.
On Tuesday, July 30, 2002, at 08:06 AM, Dain Sundstrom wrote:
> JbossCMP only needs to load the primary key columns, and it does not
> think lname is a pk column. You either have the pk fields
> misconfigured or the custom pk class is not written correctly.
>
> -dain
>
> Greg Turner wrote:
>> In JBoss 3.0, I have a JBoss query:
>> <jboss-ql>
>> <![CDATA[SELECT OBJECT(a) FROM Customer a WHERE a.zip = ?1
>> ORDER BY a.zip DESC]]>
>> </jboss-ql>
>> This query fails because the SQL that is executed is only selecting on
>> customer.id, not both customer.id and customer.lname.
>> How can I make it select on the required fields?
>> Thanks
>> Greg
-------------------------------------------------------
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code=31
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user