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