2012-04-08 5 views
0

私はejb 2.1 BMP、JBoss 7.1 ASを使用しています
私はいくつかのフィールド(ユーザの選択に依存します)でリストを注文する必要があります
SQLステートメントでORDER BYを使用してデータベースから。
ホームインタフェース:EJB 2.1エンティティコレクションを取得しない方法は?

とjava.lang.ClassCastExceptionを::

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

私は例外を取得リストに戻るタイプを変更はjava.util.HashSetはjava.util.Listに $ Proxy13にキャストすることはできません.findAllConstraint(Unknown Source)

しかし、リストが必要です(HashSetはORDER BYに意味がないため)
リストの取得方法は?

答えて

0

JBoss 7のソリューションはありません。私はJBoss 6
をインストールするだけで、リターンタイプのリストで動作します! =)

1

ハッシュセットは順序付けされていないため、自動的に順序付きリストを取得することはできません。ハッシュセットを繰り返し、項目をリストに追加し、必要に応じてそのリストを順序付けする必要があります。

+0

または独自のArrayListを作成し、 'arrayList.addAll(collection) 'を呼び出す – krock

0

LinkedHashSetを試しましたか?私はそれが少なくともEJB3で動作すると思う。

+0

2.1バージョンを使用する必要があります。そして、私はHashSetをLinkedHashSetにキャストできますか? – user1320115

関連する問題