我有一个名为TimelineItem的对象,该对象具有一个名为linked_items_的数据字段,其中包含一个TimelineItem类型的 vector 。这是表示时间轴中链接到原始项目(重复项目)的项目。
我很难让ODB理解我的意图。它给我一个错误“无法将数据成员'linked_items_'中使用的C++类型“:: TimelineItem”映射到PostgreSQL数据库类型。这是我的代码:
#pragma db object
class TimelineItem {
// Timeline Item data fields
private:
// Default constructor for ODB
TimelineItem() {}
friend class odb::access;
#pragma db id auto
unsigned long id_;
Event *event_;
time_t start_;
time_t end_;
TimelineItem *linked_;
vector<TimelineItem> linked_items_;
我知道它不知道“TimelineItem”是什么类型,因此它无法在数据库端映射它,但是我正在努力寻找文档或解决此问题的方法。
任何反馈表示赞赏。
谢谢!
最佳答案
我认为您的vector<TimelineItem> linked_items_;
实际上应该是vector<TimelineItem*> linked_items_;
关于c++ - C++和ODB:创建对象 vector ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44017372/