JDO's interfaces are defined in two packages: javax.jdo and javax.jdo.spi. You use the interfaces defined in the javax.jdo package to write your applications. This chapter introduces and describes each of these interfaces at a high level. Each method defined in these interfaces is covered thoroughly in this book. You can use the index to find information on a particular method.
The javax.jdo.spi package contains interfaces that JDO implementations use (spi stands for service provider interface). It is a common practice to have such a package that defines interfaces for use by the implementation of a Java API, distinct from the package that contains the interfaces for use of the API. You should not directly use any of the interfaces defined in javax.jdo.spi. We provide brief coverage of a few of the javax.jdo.spi interfaces that are directly involved in the management of persistent class instances. If you are interested in a thorough understanding of the interfaces in javax.jdo.spi, we encourage you to read the JDO specification.
We conclude this chapter by enumerating the optional features in JDO.