What constraints does TopLink enforce on an object model?
TopLink does not force the developer to subclass from one of its classes or use special types to maintain relationships. You could build a domain model to map persistently which has no dependencies on TopLink. TopLink does however require access to instantiate the persistent classes as well as access to get and set values within these objects. In order to instantiate your objects, TopLink requires either a zero argument public constructor or a factory object and a method to invoke to get a new instance. In order to gain access to the fields of a persistent class, TopLink requires public get and set methods or public fields. Starting with JDK 1.2 or Java 2 TopLink can access protected or private fields, provided the environment has been configured to grant TopLink access.