之前用morphia,现在开始用scala。发现morphia不能支持集合类型,比如List、ListBuffer、Set...
有什么方法可以支持这一点,比如编写一个扩展类并注册它,或者任何现有的 jar 都这样做了?
宣言:
@Entity
class User {
@Id
var id: ObjectId = _;
var name: String = _;
var profiles: BSONObject = new BasicBSONList();
}
保存(假设ds
是 a Datastore
):
val me = new User()
me.name = "Hello"
me.profiles = new BasicBSONList();
me.profiles.put("0", "str0");
me.profiles.put("4", "str1");
me.profiles.put("2", "str2");
ds.save[User](me)
加载:
for (user <- ds.find(classOf[User]).asocial) {
log.log("" + user.name + "'s" + " profiles: " + user.profiles)
}
输出:
me's profiles: [str0, null, str2, null, str1]