Prior knowledge or experience in database programming (SQL, JDBC, ORM, JPA, etc.) is not required, but some background in using the Java language is essential.
Is ObjectDB better than competing object databases?
Naturally, this is not the place to look for an unbiased answer for this question. However, you should consider the following points when doing your own objective comparison of object databases:
- ObjectDB is unique in supporting the standard APIs. It is the only object database with built in support for the Java Persistence API (JPA). It also supports a more recent and advanced version of the Java Data Objects (JDO) API than competing object databases.
- By using a standard API such as JPA you can keep your application portable. If necessary, you will always be able to switch to any relational database by using an ORM JPA provider such as Hibernate, EclipseLink or Open JPA.
- Another advantage of using a popular API such as JPA is the availability of experienced developers, supporting community, forums, IDEs support, tools, books, tutorials and sample code.
- ObjectDB is also unique in supporting features that are usually available only in relational databases. For example, most object databases do not support user defined primary keys, even though this is very useful in almost every application. ObjectDB supports user defined primary keys including composite primary keys.
- The support of two standard APIs (JPA and JDO) by ObjectDB minimizes the risk that during development you may find that an essential feature is missing. For example, some competing products do not support aggregate queries (max, min, count, sum and avg). ObjectDB supports rich queries, including aggregate queries, as part of its support of JPQL (JPA Query Language) and JDOQL (JDO Query Language).
- ObjectDB is faster than other products.