文档章节

C++ ORM ODB 入门(三)

newzai
 newzai
发布于 2013/09/10 15:02
字数 274
阅读 5.1K
收藏 1

「深度学习福利」大神带你进阶工程师,立即查看>>>

本节介绍ODB的事务与 异常。

数据库操作经常涉及到操作多个表格,或者表格中的多行数据。因此必须保证整个过程是原子性的。ODB为数据库的事务提供了易于使用的接口。

使用odb::databse的相关方法(persist、update、erase、load)时,必须处于某个事务之间。

事务由 odb::transcation 类表示.

odb::transaction t(db.begin());

....ORM相关代码、或者SQL代码;

t.commint(); or t.rollback();;..

不过很不幸,如果只是上面的代码,在执行ODB的相关接口抛出异常时,程序就崩溃了。因此一般在执行事务的时候,都加上try...catch(odb::exception & e) 来捕获odb异常。。


事务很简单,唯一要注意的就是,ODB的事务不支持并发。

任何时刻不能有2个事务同时执行。。否则后面执行的事务就会抛出异常。

解决:通过odb::transaction::has_current()方法判断但前是否有事务正在执行。并根据具体的情况做出实际的选择。 


 

newzai

newzai

粉丝 67
博文 11
码字总数 11270
作品 1
深圳
高级程序员
私信 提问
加载中
此博客有 24 条评论,请先登录后再查看。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
8
C++模板库--C++ B-tree

这是一个google开源的C++模板库,实现了基于B-tree数据结构的有序内存容器。类似于STL的map、set、multimap和multiset模板,C++ B-tree也提供了btreemap、btreeset、btreemultimap和btreemu...

匿名
2013/02/05
3.5K
1
C++ 软件生态系统--Ryppl

Ryppl 是由 Boost 项目的一些成员创建的项目,因为意识到 Boost 越来越耦合、笨拙以及依赖于定制的架构。因此他们决定开始 Ryppl 项目。 Ryppl 项目的目的就是创建一个可移植的模块化的 C++ ...

匿名
2013/03/06
1.3K
0
C++的JSON解析类--JSONVALUE

Jsonvalue 是 C++ 的 JSON 类,用来解析 JSON 到 C++ 对象,也可将对象转成 JSON 字符串。支持 ANSI 和 Unicode。特点: 严格和松散模式 不同数据类型 简单 API 仅依赖 STL 示例代码: JSON...

匿名
2013/03/10
3K
1

没有更多内容

加载失败,请刷新页面

加载更多

phpstorm 主题颜色

个人比较喜欢 复制文件保存为 red.icls <scheme name="1337" version="142" parent_scheme="Default"> <option name="FONT_SCALE" value="1.0" /> <metaInfo> <property name="c......

chenhongjiang
13分钟前
0
0
Hystrix核心原理和断路器源码解析

Hystrix运行原理 构造一个HystrixCommand或HystrixObservableCommand对象 执行命令。 检查是否已命中缓存,如果命中直接返回。 检查断路器开关是否打开,如果打开,直接熔断,走fallback逻辑...

xiaolyuh
今天
10
0
求职应聘,如何自我分析人格优势?

“你那里有没有合适的工作介绍给我啊?” “我想找份我喜欢的工作,可是好难啊怎么办啊?” “为什么我求职总是不成功呢?” 最近我总是接到朋友询问工作相关的消息,给她们提供招聘信息的同...

蛤蟆丸子
今天
17
0
Pycharm、Idea、Goland 官方汉化来了

作为软件开发的编辑器,不得不提大名鼎鼎的 JetBrains 公司,其出品的软件:Pycharm、Idea、WebStorm、phpstorm、CLion、RubyMine、AppCode、DataGrid,目前来讲都是最受欢迎的! 可是由于软...

猪哥66
今天
18
0
数据分析师必学第一课:构建完整的指标体系

本文分享自微信公众号 - 大数据架构师专家(xinsz08)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

致码高胜寒
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部