ALLOWED String text; }
A proxy for proxied class P does not handle instances of subclasses of P. To proxy a subclass of P, a separate proxy class is needed.
Several {@link built in proxy types}are used implicitly. An application defined proxy will be used instead of a built-in proxy, if both exist for the same proxied class.
With respect to class evolution, a proxy instance is no different than any other persistent instance. When using a {@link RawStore} or {@link Converter}, only the raw data of the proxy instance will be visible. Raw data for the proxied instance never exists.
Currently a proxied object may not contain a reference to itself. For simple proxied objects such as the Locale class shown above, this naturally won't occur. But for proxied objects that are containers -- the built-in Collection and Map classes for example -- this can occur if the container is added as an element of itself. This should be avoided. If an attempt to store such an object is made, an {@code IllegalArgumentException} will bethrown.
Note that a proxy class may not be a subclass of an entity class.
@author Mark Hayes