0% found this document useful (0 votes)
72 views2 pages

Java Ee

This document provides a cheat sheet for Java EE 6 annotations. It lists many common annotations used in Java EE 6 for EJB, CDI, JSF, JPA and other specifications. For each annotation it shows what type of code element it can be applied to like types, methods, fields, etc. and default values if any.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views2 pages

Java Ee

This document provides a cheat sheet for Java EE 6 annotations. It lists many common annotations used in Java EE 6 for EJB, CDI, JSF, JPA and other specifications. For each annotation it shows what type of code element it can be applied to like types, methods, fields, etc. and default values if any.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Java EE 6 Annotations

Alternatives for EJB management CDI JSF EJB3 CDI: [Link]


CMF @Inject @Named(value=) T T T TM TM T T T T T T T

TM

@Interceptors(Class[]) @AroundInvoke @AroundTimeout @ExcludeDefaultInterceptors @ExcludeClassInterceptors

Bean Types: [Link]


@Stateless(name=className) @Stateful(name=className) @Singleton(name=className) @MessageDriven(name=, activationConfig=ActivationConfigProperty[]) @ActivationConfigProperty(propertyName=, propertyValue=) @Local(value=Class[]) @Remote(value=Class[]) @LocalBean @Asynchronous @Lock(value=[WRITE,READ]) @ConcurrencyManagement(value=[CONTAINER, BEAN]) @DependsOn(value=String[]) @Startup

M M TM M

Security: [Link]
T T TM TM TM @RunAs(String rolename) @DeclareRoles(value=String[]) @RolesAllowed(value=String[]) @PermitAll @DenyAll src/java/ [potentially packaged as a .jar inside a .ear] |-- META-INF/ | |- - [Link] [or in WEB-INF/] | `-- [Link] `-- com/ `-- myBusiness/ |-- entities/ | `-- [Link] |-- resources/ | |-- [Link] | `-- [Link] `-- [Link] web/ [potentially packaged as a .war inside a .ear] |-- WEB-INF/ | |-- [Link] [or in META-INF/] | |-- [Link] | `-- [Link] |-- resources/ | |-- css/ | | `-- [Link] | `-- javascript/ | `-- [Link] `-- [Link]

CDI: [Link]
TMF TMF TMF MF @New(value=className) @Alternative @Any @Produces

CDI: [Link]
TMF TMF TMF TMF TMF @ApplicationScoped @ConversationScoped @RequestScoped @SessionScoped @Dependent

Timeouts: [Link]
TM T M M @AccessTimeout(value=0,unit=MILLISECONDS) @StatefulTimeout(value=0,unit=MILLISECONDS) @Timeout @Schedule(year=*, month=*, bimonthly=*, dayOfWeek=*, hour=0, minute=0, info=, persistent=true, timezone=) @Schedules(Schedule[])

JSF management: [Link]


T F T T T T T T T @ManagedBean(name=, eager=false) @ManagedProperty(name=, value=) @ApplicationScoped @CustomScoped(value=) @NoneScoped @ReferencedBean(name=) @RequestScoped @SessionScoped @ViewScoped

Transaction: [Link]
T TM @TransactionManagement( value=[CONTAINER, BEAN]) @TransactionAttribute(value=[MANDATORY, REQUIRED, REQUIRES_NEW, SUPPORTS, NOT_SUPPORTED, NEVER])

EJB3 injection: [Link]


TMF @EJB(name=, beanInterface=[Link], mappedName=, lookup=| beanName=, description=) @EJBs(EJB[])

EJB Callbacks: [Link] and .annotation


M M M M M M M M @AfterBegin @AfterCompletion @BeforeCompletion @PostConstruct @PreDestroy @PostActivate @PrePassivate @Remove(retainIfException=false)

Legend
TCMF Annotation applies to Type, Constructor, Method, Field
VALUE Default Value

Java EE 6 Annotations Cheat Sheet


Version 1.3, based on Java EE 6 API Doc 2005,2011 Philipp Meier [Link] 2011 Updated for EJB 3.1, JSF 2.0, JPA 2.0 by Chris Rennie Report errors to [Link]@[Link]
This work is licensed under the Creative Commons AttributionNonCommercial-ShareAlike 2.0 Germany License. To view a copy of this license, visit [Link] or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

EJB3 injection: [Link]


T TMF @ManagedBean(value=) @Resource(name=, type=[Link], AuthenticationType=[CONTAINER,Application], shareable=true, lookup=, mappedName=) @Resources(Resource[])

Interceptors: [Link]
T @Interceptor

Persistence provider: [Link]


TMF @PersistenceContext(name=, unitName=,type= [TRANSACTION,EXTENDED], properties=PersistenceProperty[]) @PersistenceContexts(PersistenceContext[]) @PersistenceUnit(name=, unitName=) @PersistenceUnits(PersistenceUnit[]) @PersistenceProperty(name=, value=) T @Cacheable(value=true)

MF MF

@Lob @Version

@MappedSuperclass

Generators: [Link]
MF TMF @GeneratedValue(generator=, strategy=[AUTO,IDENTITY,SEQUENCE,TABLE]) @SequenceGenerator(name=, schema=, catalog=, sequenceName=, initialValue=0, allocationSize=50) @TableGenerator(name=, table=, schema=, catalog=, pkColumnName=, valueColumnName=, pkColumnValue=, initialValue=0 allocationSize=50, uniqueConstraints={})

Embedded values: [Link]


T MF MF MF @Embeddable @EmbeddedId @Embedded @MapsId(value=)

T TMF T

TMF

Relations: [Link]
MF @OneToOne(targetEntity=[Link], cascade={ALL,DETACH,MERGE,PERSIST,REFRESH, REMOVE}, fetch=[LAZY, EAGER], optional=true, mappedBy=, orphanRemoval=false) @OneToMany(targetEntity=[Link] , cascade={...}, fetch=[...], mappedBy=, orphanRemoval=false) @ManyToOne(targetEntity=[Link], cascade={...}, fetch=[...], optional=true) @ManyToMany(targetEntity=[Link], cascade={...}, fetch=[...], mappedBy=) @OrderBy(value=) @OrderColumn(name=, columnDefinition=, insertable=true, updateable=true, nullable=true) MF MF MF

Object-relational mapping: [Link]


T T T @Entity(name=) @Table(name=, schema=, catalog=, UniqueConstraints=UniqueConstraint[]) @SecondaryTable(name=, schema=, catalog=, pkJoinColumns=PrimaryKeyJoinColumn[], uniqueConstraints=UniqueConstraint[]) @SecondaryTables(SecondaryTable[]) @UniqueConstraint(columnNames=String[], name=) T TMF TMF TMF TMF TMF MF @IdClass(Class) @Access(value=[FIELD,PROPERTY]) @PrimaryKeyJoinColumn(name=, columnDefinition=, referencedColumnName=) @PrimaryKeyJoinColumns(PrimaryKeyJoinColumn[]) @AttributeOverride(name=String, column=Column) @AssociationOverride(name=String, joinTable=JoinTable, JoinColumns=JoinColumn[]) @Column(name=, table=, unique=false, nullable=true, insertable=true, updatable=true, columnDefinition=, length=255, precision=0, scale=0) @JoinColumn(name=, table=, referencedColumnName=, unique=false, nullable=true, insertable=true, updatable=true, columnDefinition=) @JoinColumns(JoinColumn[]) @JoinTable(name=, schema=, catalog=, joinColumns={}, inverseJoinColumns={}, uniqueConstraints=UniqueConstraint[]) @CollectionTable(name=, schema=, catalog=, joinColumns={}, uniqueConstraints={}) @ElementCollection(targetClass=[Link], fetch=[LAZY,EAGER]) @Id @Basic(fetch=[LAZY, EAGER], optional=true) @Enumerated(EnumType) @Temporal([DATE, TIME, TIMESTAMP]) @Transient

MapKey: [Link]
@MapKey(value=) @MapKeyClass(value=Class) @MapKeyColumn(name=, table=, unique=false, nullable=true, insertable=true, updatable=true, columnDefinition=, length=255, precision=0, scale=0) @MapKeyEnumerated(value=[ORDINAL,STRING]) @MapKeyJoinColumn(name=, table=, referencedColumnName=, unique=false, nullable=true, insertable=true, updatable=true, columnDefinition=) @MapKeyJoinColumns(MapKeyJoinColumn[]) @MapKeyTemporal([DATE,TIME,TIMESTAMP])

MF

MF MF MF MF

MF MF

Queries: [Link]
T T T T @NamedQuery(name=String, query=String) @NamedQueries(NamedQuery[]) @NamedNativeQuery(name=String, query=String, resultClass=[Link]) @NamedNativeQueries(NamedQuery[]) @QueryHint(name=, value=)

MF MF

JPA Callbacks: [Link]


M M M M M M M @PostLoad @PrePersist @PostPersist @PreRemove @PostRemove @PreUpdate @PostUpdate

MF

ResultSet mapping: [Link]


T T @SqlResultSetMapping(name=String, entities=EntityResult[], columns=ColumnResult[]) @SqlResultSetMappings(SqlResultSetMapping[]) @EntityResult(entityResult=Class, disriminatorColumn=, fields=FieldResult[]) @FieldResult(name=, column=) @ColumnResult(name=)

MF MF

Listeners: [Link]
T T T @EntityListeners(Class[]) @ExcludeDefaultListeners @ExcludeSuperclassListeners

MF MF MF MF MF MF MF

Inheritance: [Link]
T T @Inheritance(strategy=[SINGLE_TABLE, TABLE_PER_CLASS, JOINED]) @DiscriminatorColumn(name=DTYPE, discriminatorType=[STRING,CHAR,INTEGER], columnDefinition=, length=31) @DiscriminatorValue(value=) JSF JPA CDI

See also:
[Link] [Link] [Link] [Link] ncy-Injection-in-Java-EE-6-Part-1

You might also like