0

私は ejb 2.1 BMP、JBoss 7.1 ASを 使用しています。SQL ステートメントで ORDER BY を使用して、データベースから
いくつかのフィールド (ユーザーの選択によって異なります) で並べ替えられたリストを取得する必要があります。 ホーム インターフェース:

public interface AliveHome {  
    ...  
    Collection<Alive> findAllConstraint(...) [exceptions];  
    ...
}

戻り値の型をリストに変更すると、例外が発生します:

java.lang.ClassCastException: java.util.HashSet を java.util.List $Proxy13.findAllConstraint にキャストできません (不明なソース)

しかし、リストが必要です (HashSet では ORDER BY には意味がないため)
リストを取得するにはどうすればよいですか?

4

3 に答える 3

1

ハッシュセットは順序付けされていないため、順序付けられたリストを自動的に取得することはできません。ハッシュセットを繰り返し処理し、アイテムをリストに追加してから、必要に応じてそのリストを並べ替える必要があります。

于 2012-04-08T10:21:46.243 に答える
0

使ってみましたLinkedHashSetか?少なくともEJB3では機能すると思います。

于 2012-04-08T18:41:10.007 に答える
0

JBoss 7の解決策はありません。JBoss6をインストールするだけ
で、リターンタイプのリストで動作します。=)

于 2012-04-08T18:32:24.373 に答える