This Apache Lab explores how to extend OpenJPA to support application domain model expressed in Service Data Objects instead of Pure Old Java Objects.
OpenJPA in particular, and JPA in general, has defined persistence services for Java domain objects. The Java objects supported by JPA are often termed as Pure Old Java Objects or POJO, because these Java objects can be defined without having to implement any interface or extend any implementaion mandated by JPA or other specification.