0

我正在使用 ejb 2.1 BMP,JBoss 7.1因为我需要 使用 SQL 语句中的 ORDER BY 从数据库
中获取按某些字段排序的列表(这取决于用户选择) 。 主页界面:

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

当我将返回类型更改为 List 时,我得到异常:

java.lang.ClassCastException:java.util.HashSet 无法转换为 java.util.List $Proxy13.findAllConstraint(未知来源)

但我需要 List(因为使用 HashSet,ORDER BY 没有意义)
如何获取 List?

4

3 回答 3

1

哈希集是无序的,因此您无法自动从中获取有序列表。您需要遍历哈希集,将项目添加到列表中,然后根据需要对该列表进行排序。

于 2012-04-08T10:21:46.243 回答
0

JBoss 7 没有解决方案。我只安装了 JBoss 6
,它适用于返回类型 List !=)

于 2012-04-08T18:32:24.373 回答
0

您是否尝试过使用LinkedHashSet? 我认为这至少在 EJB3 中有效。

于 2012-04-08T18:41:10.007 回答