ODB Examples

The following list gives an overview of the examples available in the odb-examples package. Each example is linked to its source code in the repository which also includes a README file with a more detailed description of the example.

hello
A "Hello World" example that shows how to use ODB to perform basic database operations.
query
Shows how to use the ODB Query Language to search the database for persistent objects matching certain criteria.
composite
Shows how to declare and use composite value types.
container
Shows how to use containers as data members in persistent objects.
relationship
Shows how to declare and use unidirectional to-one and to-many relationships.
inverse
Shows how to declare and use bidirectional one-to-one, one-to-many, and many-to-many relationships.
inheritance/reuse
Shows how to use reuse-style inheritance.
inheritance/polymorphism
Shows how to use polymorphism-style inheritance.
section
Shows how to use object sections to implement lazy-loading and change-updating of a subset of data members in a persistent class.
view
Shows how to define and use object, table, mixed, and native views.
prepared
Shows how to use prepared queries.
optimistic
Shows how to use optimistic concurrency.
pimpl
Shows how to use virtual data members to implement a persistent class that employs the pimpl C++ idiom.
access
Shows various approaches used by ODB to access data members that cannot be accessed directly.
c++11
Shows how to use ODB with C++11.
boost
Shows how to persist objects that use Boost smart pointers, containers, and value types with the help of the Boost profile library (libodb-boost).
qt
Shows how to persist objects that use Qt smart pointers, containers, and value types with the help of the Qt profile library (libodb-qt).
schema/embedded
Shows how to generate and use a database schema that is embedded into the application.
schema/custom
Shows how to map persistent C++ classes to a custom database schema.
mapping
Shows how to customize the mapping between C++ value types and database types.