We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Wt::Dbo: a C++ ORM library

Formal Metadata

Title
Wt::Dbo: a C++ ORM library
Alternative Title
Wt::Dbo: a C++ ORM (Object Relational Mapping) library
Title of Series
Number of Parts
97
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The talk introduces Wt::Dbo. It will be compared to existing ORM and database solutions for C++ and other programming languages. Based on simple examples, you will learn how you can use Wt::Dbo to manipulate objects that are stored in a database from within C++. Wt::Dbo is a brand new C++ ORM layer. Similar to Hibernate for Java and ActiveRecords for Ruby, Wt::Dbo offers a convenient way to interact with objects which are serialized in a database. Although the lack of introspection in C++ seems to be problematic to write a decent ORM in C++, Wt::Dbo demonstrates that appropriate use of the C++ template system offers a perfect alternative. Currently, Wt:dbo contains the following functionality: Automatic schema creation Mapping of 1-N and M-N relations Lazy loading of objects and collections Uses prepared statements throughout Basic query support Automatic dirty checking and database synchronization Built-in optimistic locking (using a version field)Transactional integrity, even when a transaction fails: dirty objects remain dirty and may later be saved in a new transaction, or may be reverted to their persisted state (unlike Hibernate where you are forced to discard the whole session) Transaction write-behind for changes, with support for manual flushing Forces use of surrogate keys Does not depend on Wt (can be used independently) Simple backend system: at the moment only SQLite3. We are looking at how we can perhaps can leverage SOCI if it makes its way into Boost.