Terminology

JavaBean property and field: For the purposes of
mapping, there is no semantic difference between a field and
a JavaBean property. Thus, an annotation that can be applied
to a JavaBean property can always be applied to a
field. Hence in the Javadoc documentation, for brevity, the
term JavaBean property or property is used to mean either JavaBean
property or a field. Where required, both are explicitly
mentioned.

top level class: For the purpose of mapping, there is
no semantic difference between a top level class and a
static nested class. Thus, an annotation that can be applied
to a top level class, can always be applied to a nested
static class. Hence in the Javadoc documentation, for
brevity, the term "top level class" or just class is used to
mean either a top level class or a nested static
class.