Visit the new documentation for updated content. DB4O. Table of contents. 1 Info; 2 The Basic Principle of db4o; 3 Downloads; 4 Current Status. This tutorial was written to get you started with db4o as quickly as possible. Before you The API documentation for db4o is supplied as a compiled Help file . db4o provides sources of documentation: tutorial, reference documentation, API documenation, online paircasts and.

Author: Tobar Mezilabar
Country: Ethiopia
Language: English (Spanish)
Genre: Education
Published (Last): 24 July 2009
Pages: 314
PDF File Size: 17.50 Mb
ePub File Size: 9.12 Mb
ISBN: 150-9-14150-437-7
Downloads: 1859
Price: Free* [*Free Regsitration Required]
Uploader: Nishakar

Although this makes for a fairly easy way to issue queries, it also makes for somewhat limited options; for example, what if you needed to retrieve all Person s whose last name started with Gor all Person s of an age greater than 21? Developers are encouraged to use the Native Query interfaces when working with db4o.

The global UpdateDepth and ActivationDepth configurations are good for general testing. Higher values should be used to debug UpdateDepth-related issues only.

Getting Started With db4o

Since the index snapshot is held in memory, the memory required varies greatly depending on what is being queried. If concerned about consistency, use the Refresh object command to cause the objects to be refreshed with stored database values.

A full description of Class-specific and field-specific configuration settings can be found in the db4o reference documentation. To close the transaction, use the Commit method:.

Maybe Brian was added a couple of years ago, before he turned Setting the UpdateDepth to 0 will prevent any changes from being saved to the database. This section shows you a solution based on using the Reflection APIs to poke the right values into the right fields, as well as suggesting ways to tune the solution for various preferences and aesthetics.


Most large-scale databases translate SQL text into a bytecode format that is analyzed and optimized and then executed against the data stored on disk, assembled back into text, and returned. The “native” part of the query is the fact that it is written in the programming language itself — in this case the Java language — rather than in some arbitrary language that must then be translated into something else.

So, when you call Rollback you will not see any difference to your objects. Running db4o from the GAC is not supported.

Db4o – Wikipedia

SODA query expressions are a standard that was present in all but the earliest versions of db4o. In practice, all this means is that it falls to the developer to determine whether an object previously exists in the system, usually by querying the container for that object before inserting it, as shown in Listing Store dbo4 Person “Petra” ; db.

Sign in or register to add and subscribe to documenation. This article contains content that is written like an advertisement. This gives me a basic method outline that looks like the one shown in Listing If you know that you’ll be often changing child properties, or when changing a parent object often results in changes to child objects, then you may want to change the UpdateDepth.

If you are familiar with object-relational mapping ORM tools, then you are already an object database expert because many of the APIs and query languages are comparable. EvaluationMode [mode] ; Query EvaluationMode Values Immediate Best when queries must be deterministic or execute as quickly as possible.

DefragmentConfig (db4o – database for objects – documentation)

You can also use the db. Obviously, this would only be desirable during development — at runtime it would be preferable to log this failure to a log4j error stream or something equally less distracting to the user.


It was developed, commercially licensed and supported by Actian. Special cases can be handled through writing custom type handlers.

Note that there is a more efficient way to perform this style of query against the underlying objects stored on disk using the db4o SODA query API, but it’s slightly out of scope for this article, so I’ll leave it for a later discussion.

Fine-grained activation depth can be configured per class. Despite its name, this is a Java bytecode optimizer developed at Purdue University that must be present, along with the db4o Developers were finally able to combine the power of a full database engine with plain undecorated objects.

Because QBE uses a prototype object as its template to search for data, there are a few simple rules regarding its usage. NET to access the database and thus avoid a constant, productivity-reducing context switch between programming language and data access API.

Production version is meant to be used in production environment and includes features that have been already evaluated and proven dv4o time.

When the environment is configured to run with reduced trust, all basic database operations require at dicumentation ReflectPermission MemberAccess and ReflectionEmit for the classes and types being persisted. Best when queries must be deterministic or execute as quickly as possible. In this particular case, let’s assume that the uniqueness of a Person in the system is its first name-last name combination.

Use the Visual Studio “Add Reference” command to add the necessary assemblies.