Reference
Getting Started
Db4o Concepts
Object Container
Simple Persistence
Class Name Format In .NET
Querying
Query By Example
SODA Query API
Native Queries
Query Modes
Immediate Queries
Lazy Queries
Snapshot Queries
Transaction
Working With Structured Objects
Retrieving Structured Objects
Updating Structured Objects
Deleting Structured Objects
Activation
Global Activation Settings
Object-Specific Activation
Collections Activation
Object Construction
Creating objects
Configuration
Troubleshooting
Examples
Object Identity
Unique identity concept
Binding objects
Weak References
IDs and UUIDs
Internal IDs
Unique Universal IDs
Freespace Management System
Two Freespace Systems
How To Use FreeSpacemanager
Defragmentation Role
Platform Implementations
db4o on Java Platforms
db4o on .NET Platforms
Symbian OS
Servlets
ASP.NET
Xml Import-Export In .NET
Xml Import-Export In Java
Classloader issues
Classloader basics
Configuration
Special Cases
Running without classes
Advanced Type Handling
Collections
Built-in db4o collections
Fast collections
Blobs
Db4o Blob Implementation
Static Fields And Enums
Static fields API
Usage of static fields
Java enumerations
Delegates And Events
Db4o Reflection API
GenericReflector
Using db4o reflection API
Creating your own reflector
Db4o meta-information
Accessing db4o meta-information
StoredClass and StoredField interfaces
Refactoring and Schema Evolution
Automatic refactoring
Refactoring API
Field type change
What is not yet automated
Aliases
TypeAlias
WildcardAlias
Cross-Platform Aliasing
Final Fields
Final Fields Specifics
Possible Solutions
db4o Database Management
Configuration
Selective Persistence
Transient Fields In Java
Transient Fields In .NET
Transient Classes
Test1
Test2
Indexing
Performance Tuning
Enable Field Indexes
Discarding Free Space
Calling constructors
Defragment
Turning Off Weak References
No Shutdown Thread
No callbacks
No schema changes
No lock file thread
No test instances
Increasing The Maximum Database File Size
FlushFileBuffers
B-Tree tuning
Inheritance hierarchies
Persistent and transient fields
Activation strategies
Debugging db4o
Debug Messaging System
Customizing The Debug Message Output
ExceptionsOnNotStorable
Diagnostics
ClassHasNoFields
LoadedFromClassIndex
NativeQueryNotOptimized
UpdateDepthGreaterOne
Diagnostic Messages Filter
DescendIntoTranslator
Native Query Optimization
Optimization at Query Execution Time
Instrumenting Class Files
Instrumenting Classes At Load Time
NQ Optimization On CF2.0
Build-time Optimization For .NET
Monitoring Optimization
Maintenance
Defragment
Backup
Advanced db4o Techniques
Using Annotations
Using Attributes
Callbacks
External Callbacks
Event Registry API
Possible Usecases
Cascaded Behavior
Referential Integrity
Query Statistics
Autoincrement
Benefits
Translators
Java Example Class
The Translator API
ObjectConstructor
Java Translator Implementation
IO Adapter
Pluggable IO Concept
MemoryIoAdapter
CachedIoAdapter
Using CachedIoAdapter
CachedIoAdapter Example
SODA Evaluations
Evaluation API
Using Evaluations
Drawbacks
Sorting Query Results
SODA Sorting
Native Query Sorting
Evaluation Results Sorting
Data Binding
Encryption
EXtended Tiny Encryption Algorithm
Built-In Simple Encryption
Custom Encryption Adapters
Utility Methods
PeekPersisted
IsActive
IsStored
Descend
Client-Server
Embedded
Networked
Network Server
Out-of-band Signalling
Simple db4o Server
Native Queries In Client-Server Mode
Server Without Persistent Classes Deployed
Saving Objects
QBE
SODA
Native Queries
Evaluations
Multidimensional Arrays
Switching Database Files in CS Mode
Semaphores
Locking Objects
Ensuring Singletons
Limiting the Number of Users
Controlling Login Information
Remote Code Execution
Remote Execution Through Evaluation API
Using Messaging API For Remote Code Execution
Concurrency Control
Optimistic Locking
Pessimistic Locking
Messaging
db4o Replication System (dRS)
Db4o Testing Framework
Db4ounit Methods
Creating A Sample Test
Running The Tests
Object Manager For db4o
Installation
Object Manager Tour
License
Contacts