Wt3.2.3文档翻译:Wt::Dbo::ptr< C >类模板参考,Wt::Dbo::ptr< C > Class Template Reference
指向一个数据库对象的智能指针。
这个智能指针类实现了一个 带引用计数的共享指针,指向数据库对象 , 它还跟踪内存 中的数据副本与实际数据库之间的同步状态。 妳应当永远使用这个指针类来引用数据库对象。
与一般的C++数据结构不同 的是 ,那些 被映射到数据库 表的类 没有明确的从属关系 。因此 ,按照惯例 而采用的那种基于从属关系 的内存分配/释放模式对于数据库 类来说并不太恰当。
一个指针有可能指向一个临时( transient )对象,也有可能指向一 个 持久 ( persisted )对象。 一个持久对象 在数据库中有一个对应 的版本(copy), 而一个临时对象只存在于内存中。 要想将一个新对象持久化,就调用 Session::add() 。 要想让一个持久对象变成临时的,就调用 remove() 。
与一般的智能指针不同的是, 这个指针在默认情况下 只允许 对底层对象进行只读访问。 要想修改 被引用的 对象的话, 妳应该显式调用 modify() 。 这将会把底层对象标记为脏的( dirty ),于是 这个对象就会被添加到 待与数据库同步的对象队列 中。
这个指针类提供了一系列的方法,用于处理 被引用的对象的持久化状态:
•. id() : 返回数据库 中的唯一标识符( id )
•. flush() : 强制 将对应的对象同步到数据库中
•. remove() : 从底层数据库中删除对应的对象
•. reread() : 重新从数据库中读入对应对象的数据
•. purge() : 清除 ( purges )一个非脏(non-dirty)的对象的临时(transient)版本 。
AIDS
HxLauncher: Launch Android applications by voice commands