List of annotations: http://castor.org/reference/html/jpa.html
JPA specs: http://jcp.org/aboutJava/communityprocess/final/jsr220/
+ @X Column
$ @Z? ColumnResult
$ @Z DiscriminatorColumn
$ @Z DiscriminatorValue
$ @Z? Embeddable
$ @Z? Embedded
$ @A EmbeddedId
+ @X Entity
$ @Z? EntityResult
+ @Z? Enumerated
$ @Z? FieldResult
+ @X Id
$ @A IdClass
~ @Y JoinColumn
$ @Z JoinColumns
$ @Y JoinTable
~ @Y ManyToMany
~ @Y ManyToOne
$ @Y? MapKey
+ @Y OneToMany
+ @X OneToOne
$ @X? OrderBy
$ @Z? PersistenceContext
$ @Z? PersistenceContexts
$ @Z? PersistenceProperty
$ @Z? PersistenceUnit
$ @Z? PersistenceUnits
$ @Y? PrimaryKeyJoinColumn
$ @Y? PrimaryKeyJoinColumns
$ @Y? QueryHint
$ @Z? SecondaryTable
$ @Z? SecondaryTables
$ @Z? SqlResultSetMapping
$ @Z? SqlResultSetMappings
+ @X Table
$ @Y? UniqueConstraint
Basic annotations
+ @Y? Temporal
+ @Y Lob
+ @Y Transient
+ @X Basic
+ @Y Version
Inheritance & super classes
+ @Z? MappedSuperclass
~ @Y Inheritance
+ @Z? AssociationOverride
+ @Z? AssociationOverrides
+ @X? AttributeOverride
+ @X? AttributeOverrides
Named queries
+ @X NamedNativeQueries: committed @ 20.05.2010
+ @X NamedNativeQuery: committed @ 18.05.2010
+ @X NamedQueries: committed @ 18.05.2010
+ @X NamedQuery: committed @ 01.05.2010
Callbacks and listeners
+ @Z? EntityListeners
+ @Z? ExcludeDefaultListeners
+ @Z? ExcludeSuperclassListeners
+ @X PostLoad
+ @X PostPersist
+ @X PostRemove
+ @Y PostUpdate
+ @X PrePersist
+ @X PreRemove
+ @Y PreUpdate
Key generation
+ @Y? GeneratedValue
+ @Z? TableGenerator
+ @Y? SequenceGenerator
Castor JDP-specific annotations
+ @X Cache: committed @ 06.05.2010
Labels
- @X annotation is 1:1 mappable on JDO feature X
- @Y annotation is implemented in JDO feature Y but not compatible (unchanged)
- @Z annotation doesn't have any equivalent in JDO (not implemented)
- @A annotation is integrated in JDO feature AAA, which does more than expected, though
- @X -> simply implementable
- @Z -> new feature
- @Y + @A -> refactoring necessary
+ means: annotation already implemented
$ means: annotation not yet implemented
~ means: annotation partially implemented
Any uncertainties are marked by `?`.