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