Versant’s Java interface is based on an industry standard persistent Java interface known as Java Data Objects (JDO). Versant Java Data Objects (JDO) provides seamless high performance persistence to your persistent Java classes and is tightly coupled to the Eclipse Development Environment for rapid development and deployment. Achieve high performance and scalability with Versant Java Data Objects (JDO) while utilizing an industry standard Java interface.
Industry Standard Java Interface
The Java Data Objects (JDO) specification was developed under the Java Community Process. Java Data Objects (JDO) provides transparent persistence for Java objects with an API that is independent of the underlying data store. There are no special interfaces to implement and it is easy to persist plain old Java classes. The Java Data Objects query language (JDOQL) uses a Java like syntax so developers only have to know Java. These features provide improved developer productivity and portability across data stores and Java Data Objects (JDO) implementations.
The Java Data Objects (JDO) specification supports different deployment environments with a common API. A Java Data Objects (JDO) implementation may support managed (i.e., application server) deployment and unmanaged (i.e., 2-tier) deployment or both. Another Java Data Object (JDO) implementation might be designed for small footprint environments such as a cellular phone or PDA. The developer API remains the same in all cases.
Seamless Integration with Eclipse via Versant Java Data Objects (JDO) Eclipse Plug-in
Versant Java Data Objects (JDO) is supplied with two plugins for the Eclipse IDE.
- Enhancer Plugin
- Metadata Plugin
The Enhancer plugin integrates the enhancement phase into the Eclipse build process. When Auto Enhance is selected, the Versant Java Data Objects (JDO) enhancer is called when you build your project. You can also call the enhancer by selecting Versant Java Data Objects (JDO) | Enhance classes from the project popup menu. The Metadata plugin provides you with a UI for working with the Java Data Objects (JDO) metadata from inside the Eclipse platform. These plugins can be used with Eclipse release 3.x. For more information about the Eclipse IDE, refer to their web-site at http://www.eclipse.org/.
Java Data Objects (JDO) Dual Cache Technology
Java Data Objects Query Language (JDOQL) is designed as the Java developers way of having the power of SQL queries, yet retaining the Java object relationship that exist in their application model. So besides being able to execute standard SQL queries, Java Data Objects Query Language (JDOQL) adds many new capabilities.
Advanced Query Capabilities via Java Data Objects Query Language (JDOQL)
Derived Class Queries
With Java Data Objects Query Language (JDOQL), you can easily query a sub-class and include instances of derived classes in you result set. Versant Java Data Objects Query Language (JDOQL) executes this very efficiently as your persistent object model is stored directly into your database. Even when performing this powerful derived class query, any available index will be automatically utilized for optimum query performance.
Collection Based Queries
Java Data Objects Query Language (JDOQL) allows you to query over any of your persistent collection classes even when the collection class is contained in one of your other classes.
Support for Large Data Sets
Versant Java Data Objects Query Language (JDOQL) provides seamless support for large datasets via “Cursor Queries”. By setting up your query to fetch batches of objects instead of the entire result set, developers can scale to very large populations without exhausting application memory.
Other Versant Java Data Objects (JDO) Features
- Support for data store identity as defined by the JDO 2.0 Standard.
- Support for inheritance including inheritance from non-persistent classes.
- Byte-code enhancement enabling transparent persistence and automatic object state tracking.
- Optimization of large data-set reads via Versant’s Java Data Objects (JDO) “Fetch-Group” feature.
- Attachment and detachment of object graphs.
- Support for J2EE applications and most prominent application server technologies.such as WebSphere, WebLogic, and Borland.
- Pessimistic and optimistic locking support.
- Dynamic schema definition.