You are here: Advanced Topics

Advanced Topics

This topic is about advanced features of db4o.

If you want to have multiple unit of work or multiple transaction in embedded mode you can take a look at session containers. See "Session Containers"

db4o support unique constrains on fields. See "Unique Constraints"

You can also do backups of your database at runtime. See "Backup"

Implementing the interfaces for transparent activation/persistence is tedious. The enhancement tools can do that job for you. And can also optimize native queries at build time. See "Enhancement Tools"

The database file can fragment over time. In order to reclaim defragmentet space in the database you need to run the defragmentation. See "Defragment"

Callback allow you to perform additional logic for different database operations. See "Callbacks"

As some point in time you will change your data model. Then you probably need to also refactor you're stored data in the database. See "Refactoring and Schema Evolution"

You can access the internal ids or generate UUIDs for objects. See "IDs and UUIDs"

It's also possible to access the meta information of all stored types in the database. See "db4o Meta-Information". And you can access system information about the database.

db4o tried hard to make persisting objects as easy as possible. However storing a object efficient and correctly is quite tricky. Read about db4o's type handling for more information. See "Type Handling" Furthermore db4o uses an abstraction layer to encapsulate .NET-reflection. This allows you do change how reflection behaves on your objects. See "db4o Reflection API"

Unfortunately failure happen. db4o communicates failures with exceptions. See "Exception-Handling"