Which API should I use - JPA or JDO?

You can use ObjectDB with either the Java Persistence API (JPA) or the Java Data Objects (JDO) API. Both share similar architecture, design and abilities.

When to prefer JPA

JPA is more commonly used. Therefore, it might be the first choice for most new applications. You can use JPA as the primary API, and if necessary, switch to JDO as a secondary API for special additional features that are supported only by JDO. Selecting the more popular API leads to more portable application and extends the availability of experienced developers, forums, IDEs support, tools, books, tutorials and sample code.

When to prefer JDO

JDO might be preferred when portability to other object databases is more important than general portability to both object and relational databases. JPA is designated to be used mainly with relational databases. ObjectDB is the only object database that supports JPA. On the other hand, JDO is designated to be used with both relational and object databases and it is probably the most popular Java API for object databases today.