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

如何在java中反转只读列表?,java,list,jpa,Java,List,Jpa,我在反转使用jpa从数据库获取的列表对象时遇到问题 我使用的是Collections.reverse(myListObject) 我打算做的是从数据库中检索列表,将其反转,然后将其发送到我的jsp页面 我得到以下错误: "java.lang.UnsupportedOperationException: Result lists are read-only." 有什么解决方案吗?由于列表来自JPA,第一种方法是避免在内存中反转列表,而是在RDBMS端执行。如果这种方法在您的情况下是可行的,请更改

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

我使用的是
Collections.reverse(myListObject)

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

我得到以下错误:

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

有什么解决方案吗?

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

例如,如果无法执行此操作,因为您无法直接控制JPQL,请反转副本:

List<MyType> rev = new ArrayList<MyType>(myListObject);
Collections.reverse(rev);
List rev=新的ArrayList(myListObject);
收款。反向(修订版);

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

例如,如果无法执行此操作,因为您无法直接控制JPQL,请反转副本:

List<MyType> rev = new ArrayList<MyType>(myListObject);
Collections.reverse(rev);
List rev=新的ArrayList(myListObject);
收款。反向(修订版);

请添加您已有的代码创建列表副本并撤销副本。请添加您已有的代码创建列表副本并撤销副本。