NeoDatis ODB

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
NeoDatis ODB
Developer(s) NeoDatis Team
Stable release 1.9 / May 14, 2009; 368526170 ago
Written in Java
Operating system Cross-platform
Platform Java
Available in English
Development status Under development
Type Object database
License LGPL

NeoDatis ODB is an object database available the GNU Lesser General Public License, hence usable in free or commercial applications. NeoDatis ODB is available both for Java and .NET, the latter being still under development.



  • Support for Native Queries (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.

Types of Queries


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[1]:

IQuery query = new SimpleNativeQuery() {
    public boolean match(Player player) {
        return player.getFavoriteSport().getName().toLowerCase().startsWith("volley");
Objects<Player> 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 (encapsulation and data abstraction), which other types of queries do not.


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

IQuery query = new CriteriaQuery(Player.class, Where.equal("name", "olivier"));
    Objects<Player> players = odb.getObjects(query);



External links

Similar databases

Personal tools

Served in 0.547 secs.