Я предполагаю, что вы имеете в виду сортировку записей, которые хранятся в PersistentStore, а не только объекты, которые реализуют интерфейс Persistable.
Для фиксации ваших данных в PersistentStore:
SimpleSortingVector ssv = new SimpleSortingVector();
// Construct your records and add them to the vector
PersistentObject po = PersistentStore.getPersistentObject(persistentStoreKey);
po.setContents(new ControlledAccess(ssv, codeSigningKey));
po.commit();
Чтобы получить вектор:
Object contents = po.getContents();
if (contents instanceof SimpleSortingVector)
{
// Cast to a SimpleSortingVector and load your data
}
Я полагаю, что не должно быть никаких проблем с размещением SimpleSortingVector в PersistentStore. Тем не менее, он смешивает грань между хранением ваших данных и их поведением (поскольку вы храните не только свои записи данных, но также и компаратор и сортирующую информацию). Это может быть более чистое решение для хранения ваших записей в PersistentStore как просто Vector, а когда вы загружаете их из PersistentStore, скопируйте их в SimpleSortingVector, который вы используете на протяжении всего времени выполнения вашего приложения. Если вы воспользовались этим подходом, вы могли бы хранить информацию о Компараторе и сортировать информацию в самом векторе в указанном формате и извлекать ее при создании SimpleSortingVector.