您的位置:首页 > 编程语言 > C语言/C++

介绍一个C++的ORM工具ODB(二)

2013-03-07 17:42 316 查看
介绍一个C++的ORM工具ODB(二) | C瓜哥的博客

介绍一个C++的ORM工具ODB(二)

写了个小例子,全面地感受了下ODB(1.7.0版)。总体来说还是不错,不过应用到实际的项目中,问题还是比较大。

首先是不支持联合主键,而且没有CHECK约束、UNIQUE约束,这是官方都承认的。

虽然提供了延迟加载(lazyload)来改善效率,不过使用起来不方便

查询不灵活,只能在WHERE之后的部分设定查询条件,像查询存在(SELECT EXISTS)、查询数量(SELECT COUNT)都必须定义一个视图来实现,实在麻烦

批量删除比较慢,而且不灵活。高级一点只提供了按查询条件删除,但是这是远远不够的,虽然开放了执行SQL的接口,但是这样就破坏了ORM工具设计的初衷,也为以后维护带来了麻烦。

有触发器对应的功能(即软件实现),提供了callback(回调),支持触发器常用的事件,删除前后、新增前后等。不过我尝试添加一个删除触发另外一个表的数据删除编译失败了,不知为何

没有存储过程、游标对应的软件实现

下面是附件源码的运行结果:



附件下载:

http://dl.dbank.com/c07l5w5k7x

(需要去官网下载ODB编译并加入到VC目录下,推荐使用VS2008SP1以上版本的IDE,或者使用boost库,因为需要用到智能指针)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: