如何在java中反转只读列表?

时间:2015-12-10 09:17:02

标签: java list jpa

我在使用jpa逆转从数据库中获取的列表对象时遇到问题。

我正在使用Collections.reverse(myListObject)

我打算做的是从数据库中检索列表,反转它,然后将其发送到我的jsp页面。

我收到以下错误:

"java.lang.UnsupportedOperationException: Result lists are read-only."

对此有何解决方案?

1 个答案:

答案 0 :(得分:4)

由于列表来自JPA,第一种方法是避免在内存中反转列表,而是在RDBMS端执行。如果这种方法在您的情况下可行,请更改JPQL的ORDER BY子句。

如果无法做到这一点,例如,因为您无法直接控制JPQL,请反转副本:

List<MyType> rev = new ArrayList<MyType>(myListObject);
Collections.reverse(rev);