私が試してみました:
select sort(obj.displayName, 'lhs < rhs') from my.org.BusinessClass obj
と
select sort(obj.displayName, 'lhs.toString() < rhs.toString()') from my.org.BusinessClass obj
どちらも文字配列の結果を返しますが、どれも文字列でソートされていません。オブジェクトIDでソートされていると思います。
私も試しました:
select sort(obj.displayName, lhs < rhs) from my.org.BusinessClass obj
select sort(obj.displayName, lhs.toString() < rhs.toString()) from my.org.BusinessClass obj
ただし、sort の 2 番目の引数が文字列式を想定しているため、これらはエラーになります。
VisualVM ドキュメントの例は数値のみです: Analyzing a Heap Dump Using Object Query Language (OQL)
クラスは次のように構成されています。
package my.org;
public class BusinessClass {
private String displayName;
// rest of class omitted for brevity
}