Wt::Dbo: a C++ ORM (Object Relational Mapping) library HD

14.02.2010
By Koen Deforche 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. Links: ◦http://www.webtoolkit.eu/wt/blog/2009/11/26/wt__dbo__an_orm__c_style FOSDEM (Free and Open Source Development European Meeting) is a European event centered around Free and Open Source software development. It is aimed at developers and all interested in the Free and Open Source news in the world. Its goals are to enable developers to meet and to promote the awareness and use of free and open source software. More info at http://fosdem.org

Похожие видео