работает на моей машине тм
import java.util.*;
import static java.lang.System.out;
class SubListExample {
public static void main( String [] args ) {
List<RandomObject> testList = new ArrayList<RandomObject>();
for(int i=0;i<10;i++) {
testList.add( new RandomObject() );
}
System.out.println( "Before: " + testList );
testList.subList(0, 5).clear();
System.out.println( "After: "+ testList );
}
}
class RandomObject {
static Random generator = new Random();
int id = generator.nextInt(100);
public String toString(){
return "ro("+id+")";
}
}
Производит:
$ java SubListExample
Before: [ro(68), ro(97), ro(48), ro(45), ro(43), ro(69), ro(45), ro(8), ro(88), ro(40)]
After: [ro(69), ro(45), ro(8), ro(88), ro(40)]
Итак, проблема не в ArrayList
и не в ваших объектах.
Я не думаю, что Hibernate
возвращает старую ArrayList
(может быть, это так)
Попробуйте напечатать
System.out.println( "That hibernate list.class.name = "
+ listReturnedByHibernate.getClass().getName() );
И дайте нам знать, если это действительно ArrayList