我有一个需要使用C ++和Qt的项目。它还需要在文件系统中持久化对象。我发现libodb-2.4是一个完美的解决方案。但它不能直接支持容器中容器的值,但项目中的数据结构必须与容器中的容器一起存储。
目前的解决方法是将容器中的容器值类型更改为在db中保留的对象类型,然后我可以将容器存储在容器中。但在那之后,我必须为容器中的容器值管理更多对象关系,并且项目变得更加完整。
有没有其他解决方案或库可以解决这个问题?或者序列化要存储的对象是一个更好的解决方案吗?
示例:
class A {
};
class B {
std::vector<A> a;
// other member
};
class C {
std::map<int, B>
int id;
// other member.
};
我无法直接通过 odb 将C存储在sqlite中。