NeoDatis ODB
Encyclopedia
NeoDatis ODB is an object database
Object database
An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming...

 available the GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

, hence usable in free or commercial
Commerce
While business refers to the value-creating activities of an organization for profit, commerce means the whole system of an economy that constitutes an environment for business. The system includes legal, economic, political, social, cultural, and technological systems that are in operation in any...

 applications. NeoDatis ODB is available both for Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 and .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

, the latter being still under development.

Features

  • Support for Native Queries
    Native Queries
    Native Queries are a concise and type-safe way to express queries directly as Java and C# methods.Native Queries are based on Safe Queries by Cook and Rai and were first implemented in db4o's open source object database as well as POJQ on Java.net.-Products:...

     (see below).
  • NeoDatis is simple and intuitive. Objects can be easily be added to a database, requiring no boilerplate, nor modification to already existing classes.
  • ODB Explorer: a graphical tool to browse, query, create, update, and delete object, as well as import/export the database from and to XML files.

NativeQuery

To perform a native query, an object implementing a method named match is sent to the database. Such method receives each object of a determined class from the database, and returns a boolean value determining whether each one should be returned as part of the query result or not.
Usage of such queries would be for example:

IQuery query = new SimpleNativeQuery {
public boolean match(Player player) {
return player.getFavoriteSport.getName.toLowerCase.startsWith("volley");
}
};

Objects players = odb.getObjects(query);

Native queries have a reduced performance compared to other types of queries, since every object of a certain class in the database must be instantiated, along with its members, however, they maintain some principles of object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

(encapsulation and data abstraction), which other types of queries do not.

CriteriaQuery

A CriteriaQuery allow retrieval of objects by queries which compare object attributes. Its syntaxis is somewhat SQL-like. A simple example is:

IQuery query = new CriteriaQuery(Player.class, Where.equal("name", "olivier"));
Objects players = odb.getObjects(query);
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK