MapDB - развивающаяся схема / изменение сохраненных объектов
Я сохранил некоторые объекты в mapdb, например:
import org.mapdb.*;
//open (or create) database
File file = new File(“dbFileName”);
DB db = DBMaker
.newFileDB(file)
.make();
//use map
Map<Integer, MyClass> map = db.hashMap(“mapName”);
map.put(1, myClassInstance);
//commit and close database
db.commit();
db.close();
После этого я поменял MyClass, добавил / удалил некоторые поля. Как я могу получить доступ к старым объектам, хранящимся в mapdb, чтобы я мог преобразовать их в новый / переработанный MyClass и снова сохранить их?
1 ответ
Самый простой способ - отменить изменения в вашем классе и прочитать старые данные.
MapDB имеет Каталог классов, поэтому большинство проблем можно решить, манипулируя им (переименовывать поля и т. Д.). Но официального API для этого пока нет.