Hi Craig,
> > @PersistenceCapable
> > public class MyClass
> > {
> > @Persistent(persistenceModifier=FieldPersistenceModifier.NONE)
> > }
> Doesn't bother me as much as duplicating Field/Property all over.
Me neither, but have to play devils advocate ;-)
> This is another anomaly: FieldPersistenceModifier should become
> PersistenceModifier.
+1.
It was a hangover from when I originally had ClassPersistenceModifier and
FieldPersistenceModifier.
> How about creating a new tag like @NotPersistent. To go along with
> @Transactional and @Persistent.
@Transient is already there :-)
The only place that "persistenceModifier" would then be used is in the
specification of persistence of embedded objects, or overriding inherited
fields - so the user may wish to *not* persistent a particular field. In this
case they would have to use @Persistent(persistenceModifier=NONE)
Overriding inherited fields :-
One other area if you really want to provide annotations with the full
capability that XML has. In XML you can override (inherited) fields
persistence specifications in subclasses. With Annotations this currently
isn't possible. This could be remedied by changing the specification of
@Field/@Property (@Persistent) to be for ElementType.TYPE too.
--
Andy (Java Persistent Objects - http://www.jpox.org)