C++/OOP关联模型和数据库
C++/OOP Associations model and database
编辑:我称之为关联,因为在我的脑海中应该是这样,但似乎我将其实现为一个聚合。。。这也可以讨论
上下文
你在IT中学到的是,当你进行关联时,你应该使用指针。
例如:您有两个对象:Person和Movie。一个人可以拍几部电影,一部电影可以由几个人一起拍。然后你会有:
class Person
{
public:
Person::Person();
int id;
vector<Movie*> movies;
};
class Movie
{
public:
Movie::Movie();
int id;
};
main()
{
Person person;
Movie *movie = new Movie;
person.movies.push_back(movie); // With a setter it would be better but...
}
或者类似的东西(如果我做错了,请纠正我=D)
问题出现的地方
现在你有很多人和电影,你想把它保存在某个地方:数据库中。
- 你得到你的人
- 为了构建整个对象,您可以获得与它相关联的所有电影
但是你是怎么得到它们的
您是否为您关联的每个相关人员重建一个新的Movie指针然后,您将失去关联属性,该属性允许对象链接,但可以过自己的生活。
是否将所有数据库加载到RAM中,然后好的,忘记这个
聪明地做这件事的方法是什么?文件给出的正确方式是什么
我对简化/伪代码作为例子感兴趣,论文。。。太多了!
您的问题非常广泛,有很多方法,如何绑定数据库表(并表示它们的外键连接)。
实际上,这不仅仅是如何表示/处理域模型片段,您将在这里的代码示例中介绍这一点。
@Martin Fowler提供了EAA模式目录,您可以进行合理的研究,并将适当的模式应用于您解决的此类object <-> relational mapping
问题。
相关文章:
- 查询SQLite数据库中的日期
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- QTableView:endMoveRows在模型中重置水平页眉大小
- 如何在ArangoDb AQL查询中指定数据库
- 将IBM Rhapsody模型集成到VS 2019中
- 旋转模型矩阵时的形状失真
- 从数据库实时显示QT c++中的数据
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 无法在C++中建立与MySQL数据库的连接
- 成员函数调用和C++对象模型
- 将类实现到数据库程序中
- 连接 dockerized 模型和 dockerized 数据库时出现"无法 SQLConnect"错误
- 打印 ONNXRUNTIME::图形没有模型
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 调试编译的服务器在数据库打开时崩溃
- C++内存模型和位字段的最大序列
- C++变量mysql_query到数据库
- 如何在树模型中维护父 QStandardItems 和数据库行 ID 之间的链接
- C++/OOP关联模型和数据库
- 使用数据库模型(键)来引用运行时对象,是好是坏