2015-11-23 2 views
0

Я сохраненными некоторые объекты в 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 и сохранить их снова?

ответ

0

Простейший способ - вернуть изменения в классе и прочитать старые данные.

В MapDB есть Каталог классов, поэтому можно решить большинство проблем, манипулируя им (переименовывать поля и т. Д.). Но официального API для этого пока нет.

+0

Не могу ли я прочитать данные в каком-то промежуточном формате вместо объектов? Как json, или rows-columns и т. Д. – Reek