1

次のようないくつかのオブジェクトを 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 に変換して再度保存するにはどうすればよいですか?

4

1 に答える 1

0

最も簡単な方法は、クラスの変更を元に戻し、古いデータを読み取ることです。

MapDB には Class Catalog があるため、ほとんどの問題はそれを操作 (フィールドの名前変更など) することで解決できます。しかし、そのための公式 API はまだありません。

于 2015-11-29T09:34:47.780 に答える