【问题标题】:Library for saving c++ objects to database用于将 c++ 对象保存到数据库的库
【发布时间】:2012-03-19 08:46:26
【问题描述】:

我目前正在使用 boost 序列化将我的对象图保存在 xml 文件中。该库很棒,它会自动恢复对象以及所有成员指针和引用。

问题: 我需要随机访问数据(只读取一个对象,或只删除一个对象)。使用boost序列化的场景是这样的:

--从文件中加载所有对象

-- 使用和修改对象

-- 将所有对象再次写入归档

这样做的缺点是,如果只有一个对象发生了变化,我只想将那个对象写入存档,而不是整个对象图,因为它是巨大的。

所以我正在寻找支持将所有对象存储到数据库,并且还支持 boost 和 stl 类型的库。目前我正在使用这些提升类型:

  • 提升多索引

  • 智能指针(shared_ptr,weak_ptr,scoped_ptr)

  • 可选,变体

任何人都知道这样的图书馆或接近它的东西,或者知道如何解决这个问题?

【问题讨论】:

    标签: c++ database serialization boost


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      做这样的事情是很复杂的。由于 C++(运行时环境)对自身一无所知,因此您必须自己编写代码。我的建议是将图表拆分为不同的文件,并仅更新需要的文件(这意味着您必须自己控制序列化,而不是使用 boost lib)。

      【讨论】:

        【解决方案3】:

        也许是Wt::Dbo?通过向您的类添加单个模板函数,Dbo 将它们映射到 SQL 数据库。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-11
          • 1970-01-01
          相关资源
          最近更新 更多