7. アノテーション定義支援ツール

Jakarta EEでは、アノテーション定義を使うことで配備記述子によるXML編集の煩雑さを解消し、Jakarta EEコンポーネントを簡単に作成できます。しかし、アノテーション定義は、数多く存在し、これらをまとめてソースコード編集すると生産効率が下がる場合があります。 WebOTX Developer's Studioアノテーションエディタは、アノテーション定義をGUI化することで、編集作業を簡略化します。
アノテーションエディタは以下の機能があります。
アノテーションの一覧表示・編集
Javaソースの持つアノテーションを一覧表示します。さらに、GUIでアノテーションの付与・更新・削除機能を提供します。
アノテーションの表示選択
用途別にアノテーションをカテゴリに分け、そのカテゴリ毎にビューに、表示する/しない を選択できる機能を提供します。この機能により、ユーザが表示するアノテーションを制御できるようになります。
アノテーションの検証
ある要素にアノテーションが付与できるかどうかの検証やアノテーションの属性などに入力される値の検証機能を提供します。

Jakarta EE 10で使用可能なアノテーションについてはJakarta EE 10 Specification APIsを参照してください。

7.1. アノテーションの一覧表示・編集

7.1.1. 注釈プロパティー・ビューの表示

事前に、プロジェクトのビルドパスの「ライブラリー」タブに「WebOTX Application Server」サーバー・ランタイムを追加します。


図8.1.1-1


注釈プロパティー・ビューは以下の手順で開きます。
メニュー ウィンドウビューの表示 > その他... を選択すると、ビューの表示画面が表示されます。
ビューの表示画面で、Webサービス 注釈プロパティー を選択して、OK をクリックします。


図8.1.1-2

注釈プロパティー・ビューが表示されます。


図8.1.1-3

エディタで選択されるJava要素によって、付与できるアノテーションを一覧表示します。
注釈プロパティー・ビューは以下のような画面です。


図8.1.1-4

各項目の説明を以下に示します。
表8.1.1-1
項番 項目 説明 備考
(1) ビュー・メニュー(フィルター) ビュー・メニューよりカテゴリのフィルターダイアログを表示します。 カテゴリのフィルターダイアログでは、用途別にアノテーションをカテゴリに分け、そのカテゴリ毎にビューに表示する/しない を選択できる機能を提供します。この機能により、ユーザが表示するアノテーションを制御できるようになります。
(2) 注釈 アノテーションの名前あるいはアノテーションの属性名を表示します。
(3) アノテーション名の場合は該当アノテーションがJava要素に付与されるかどうかを示します。
アノテーション属性の場合は、該当属性の値を示します。
(1)アノテーション名の場合:
チェックボックスで設定します。
ONにした場合、該当アノテーションがJava要素に付与されます。
OFFにした場合、該当アノテーションがJava要素に付与されません。

(2)アノテーション属性の場合:
booleanの場合は、チェックボックスで、ONとOFFだけで設定できます。
列挙の場合は、コンボボックスリストで設定できます。
Classの場合は、テキストボックスまたは参照ボタンで編集できます。
配列の場合は、参照ボタンで開くダイアログで設定できます。
その以外は、テキストボックスで編集できます。
(4) ボタン
アノテーションの属性を表示するかどうかを制御します。 をクリックして、該当アノテーションの属性を表示します。
をクリックして、該当アノテーションの属性を表示しません。

アノテーションの付与対象となるJava要素は、Target属性(java.lang.annotation.ElementType型)としてアノテーション側で定義されています。
エディタでJava要素にフォーカスをあてると、注釈プロパティー・ビューには、Targetの適合するアノテーションの一覧が表示され、編集することができます。

注釈プロパティー・ビューで編集可能なTarget属性を以下に示します。
表8.1.1-2
説明
TYPE Java要素はクラス、インターフェース(アノテーションを含む)、あるいはenum(列挙型)であることを示します。
CONSTRUCTOR Java要素はコンストラクターであることを示します。
METHOD Java要素はメソッドであることを示します。
FIELD Java要素はフィールドであることを示します。
PARAMETER Java要素はパラメータであることを示します。
ANNOTATION_TYPE Java要素はアノテーションタイプであることを示します。
PACKAGE Java要素はパッケージであることを示します。

Caution
上記以外のTargetに対するアノテーションについてはエディタから直接入力してください。

7.1.2. アノテーションの一覧表示機能

Java要素の型別に付与できるアノテーションを一覧表示する機能について説明します。
7.1.2.1. 付与対象がクラスの場合
クラス(TYPE)に付与できるアノテーションの一覧表示は以下の画面の通りです。
付与対象がクラスまたはメソッドで、カテゴリが EJB である場合の画面表示を例に説明を行います。


図8.1.2-1

エディタでクラス名が選択された場合、jakarta.ejb.Statelessやjakarta.ejb.StatefulなどTargetがTYPEであるアノテーションが一覧表示されます。(TargetがMETHODであるjakarta.ejb.PostActivateやjakarta.ejb.PrePassivateなどは、一覧には表示されません。)
7.1.2.2. 付与対象がメソッドの場合
メソッドに付与できるEJBに所属するアノテーションの一覧表示は以下の画面の通りです。


図8.1.2-2

エディタでメソッド名が選択された場合、jakarta.ejb.PostActivateやjakarta.ejb.PrePassivateなどTargetがMETHODであるアノテーションが、ビューで表示されます。(前出の、TargetがTYPEであるjakarta.ejb.Statelessやjakarta.ejb.Statefulなどは一覧には表示されません。 )
表8.1.2-1
選択された付与対象 カテゴリ 説明
クラス プロジェクトのアノテーション表示選択により、選択された該当カテゴリのアノテーションを表示します。詳しくはアノテーションの表示選択を参照してください。
カテゴリ設定範囲内において、Target定義にクラスが含まれるアノテーションを表示します。
メソッド カテゴリ設定範囲内において、Target定義にメソッドが含まれるアノテーションを表示します。
その他 カテゴリ設定範囲内において、Target定義に付与対象が含まれるアノテーションを表示します。

Memo
1.jakarta.ejb.TransactionAttributeやjakarta.interceptor.InterceptorsなどTargetがTYPE、METHOD両方であるアノテーションは、クラス名が選択された場合もメソッドが選択された場合も、一覧に表示されます。
2.アノテーションをTargetとは異なる対象に付与すると、エディタでエラーが発生します。詳しい情報はアノテーションの検証を参照してください。
3.各アノテーションのTargetは、Jakarta EE 10 Specification APIsを参照してください。

7.1.3. アノテーションの新規追加機能

具体例として、jakarta.ejb.StatelessをJavaクラスへ追加する例を用いてアノテーションの新規追加機能の使い方を説明します。
下図は、アノテーションを追加する前のエディタと注釈プロパティー・ビューの状態です。


図8.1.3-1

注釈プロパティー・ビューで、jakarta.ejb.StatelessアノテーションのをONに変更します。


図8.1.3-2

jakarta.ejb.StatelessアノテーションがクラスTestStatelessSessionBeanに付与されます。
下図は、jakarta.ejb.StatelessアノテーションがクラスTestStatelessSessionBeanに付与された後の画面です。


図8.1.3-3

エディタで、以下の変化をご確認ください。
(1) TestStatelessSessionBeanクラスの定義前で@Stateless()が追加されます。
(2) import jakarta.ejb.Stateless;句が追加されます。
(3) 注釈プロパティー・ビューでjakarta.ejb.Statelessアノテーションの値がONになっています。

7.1.4. アノテーションの属性の変更機能

注釈プロパティー・ビューを使って、Java要素に付与されるアノテーションの属性を追加・更新・削除することができます。
以下は具体例として、jakarta.ejb.Statelessを変更する場合です。
下図は、属性変更の前のエディタと注釈プロパティー・ビュー状態です。


図8.1.4-1

7.1.4.1. 属性の追加
注釈プロパティー・ビューで、jakarta.ejb.Statelessアノテーションのdescription属性のにThe description of Stateless Annotationと、入力して、ENTER キーを押します。


図8.1.4.1-1

エディタで、@Statelessアノテーションにdescription属性が追加されます。
結果は、下図のとおりです。


図8.1.4.1-2

括弧が無い場合の手順
後ろに括弧が無いアノテーションに注釈プロパティー・ビューで正しく属性を追加することはできません。
このような場合、別途エディタを用いてアノテーションに括弧を追加してから編集して下さい。
詳細は、注釈プロパティー・ビューで属性を追加できないをご覧ください。
7.1.4.2. 属性の変更


図8.1.4.2-1

注釈プロパティー・ビューでjakarta.ejb.Statelessのdescription属性の値を "Modified It!" に変更して、ENTER キーを押すと、変更結果がエディタに反映されます。


図8.1.4.2-2

7.1.4.3. 属性の削除


図8.1.4.3-1

注釈プロパティー・ビューでjakarta.ejb.Statelessのdescription属性の値を空白にして、ENTER キーを押すと、エディタで@Statelessアノテーションのdescription属性が""になります。


図8.1.4.3-2

7.1.5. アノテーションの削除機能

注釈プロパティー・ビューで、アノテーションを削除する機能です。
具体例として、jakarta.ejb.Stateless アノテーションの削除方法を説明します。
下図は、アノテーションを削除する前のエディタと注釈プロパティー・ビューの状態です。


図8.1.5-1

注釈プロパティー・ビューでjakarta.ejb.StatelessアノテーションのをOFFにします。
エディタで、@Statelessアノテーションが削除されます。


図8.1.5-2

Memo
削除されたアノテーションの定義クラスのimport句((1)の部分)は、他の箇所で利用していない場合、同時に削除されます。

7.2. アノテーションの表示選択

7.2.1. 機能説明

アノテーションの表示選択の使用方法について説明します。

7.2.2. カテゴリのフィルターダイアログの表示

注釈プロパティー・ビューのビュー・メニューよりフィルター...をクリックします。


図8.2.2-1

カテゴリのフィルターダイアログが表示されます。


図8.2.2-2

カテゴリのフィルターダイアログは以下のような画面です。


図8.2.2-3

各項目の説明を以下に示します。
表8.2.2-1
項番 項目 説明 備考
(1) ダイアログの提示情報 「Select Annotation Categories to Filter」というメッセージが表示されます。
(2) WebSocketチェックボックス WebSocketカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(3) JAX-RSチェックボックス JAX-RSカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(4) Jakarta EE共通チェックボックス Jakarta EE共通カテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(5) Portletチェックボックス Portletカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(6) Batchチェックボックス Batchカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(7) CDI チェックボックス CDIカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(8) JCA チェックボックス JCA カテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(9) JavaMail チェックボックス JavaMailカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(10) JTA チェックボックス JTAカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(11) Servlet チェックボックス Servletカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(12) JAX-WS チェックボックス JAX-WSカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(13) JMS チェックボックス JMSカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(14) EJB チェックボックス EJBカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(15) JSF チェックボックス JSFカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(16) Bean Validation チェックボックス Bean Validationカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(17) JAXB チェックボックス JAXBカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(18) JPA チェックボックス JPAカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(19) Security チェックボックス Securityカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(20) JSON Binding チェックボックス JSON Bindingカテゴリに所属するアノテーションを注釈プロパティー・ビューで表示しないかどうかを指定します。
(21) すべて選択(S)ボタン すべてのカテゴリを選択します。
(22) 選択をすべて解除(D)ボタン すべてのカテゴリの選択を解除します。
(23) OKボタン カテゴリに所属するアノテーション表示・非表示の変更を適用します。
(24) キャンセルボタン カテゴリに所属するアノテーション表示・非表示の変更を適用しません。

7.2.3. 表示するカテゴリの選択

注釈プロパティー・ビューに表示するカテゴリを選択できます。 これにより、必要なアノテーションだけを表示でき、目的のアノテーションの探索が容易になります。

下図では、注釈プロパティー・ビューにアノテーションが表示されていません。


図8.2.3-1

ここで、EJBカテゴリをビューに表示するように、カテゴリのフィルターダイアログで設定します。

カテゴリのフィルターダイアログでは、ビューに表示しないカテゴリを指定します。 したがって、EJBカテゴリをビューに表示する場合は、EJBをOFFにします。


図8.2.3-2

エディタ内の、クラスを選択すると、クラスに付与できるEJBカテゴリのアノテーションが一覧表示されるようになります。


図8.2.3-3

他の四つのカテゴリに所属するアノテーションは表示されないことを、ご確認ください。

Caution
1.注釈プロパティー・ビューで表示されないアノテーションも、エディタで入力することは可能です。
2. エディタでアノテーションが正しく付与できない場合、アノテーションの検証をご覧ください。

7.2.4. ファセットにしたがってアノテーションの自動表示

ファセットにしたがってアノテーションの表示するカテゴリを自動選択することができます。

例えば、Portlet ファセットを含めないプロジェクト内のJAVAファイルを編集する場合、カテゴリ Portlet はカテゴリのフィルターダイアログで自動的に ON になることで、そのカテゴリ配下のアノテーションを注釈プロパティー・ビューで表示しません。
一方、Portlet ファセットを含むプロジェクト内のJAVAファイルに切り替えると、Portlet カテゴリ下のアノテーションが自動的に表示するようになります。

ファセットにしたがって自動表示されるカテゴリは下表の通りです。
表8.2.4-1
カテゴリ 説明
Portlet プロジェクトにPortletファセットを含む場合、このカテゴリのアノテーションを表示します。
その他場合、このカテゴリのアノテーションを表示しません。
この自動表示選択を有効するかどうかは、 ウインドウ > 設定 > WebOTX > アノテーション ページで設定できます。


図8.2.4-1

プロジェクトのファセットにしたがってPortletのアノテーションを表示するON にした場合、自動表示選択機能が有効します。OFF にした場合、有効しません。

7.3. アノテーションの検証

アノテーションを記述した際の、妥当性の検証機能について説明します。
妥当性は、付与する対象、指定する属性などについて判定されます。
各アノテーションの妥当な指定については、サポートするアノテーションを参照してください。

7.3.1. アノテーションの定義位置の検証機能

付与する対象の妥当性についての検証です。
以下は、メソッドには付与できない@Statefulアノテーションを、エディタで強制的に付与した際の、エラーの例です。 マウスをエラー発生箇所に置くと、関連するエラーメッセージが表示されます。


図8.3.1-1

7.3.2. アノテーションの属性名の検証機能

属性名の妥当性についての検証です。
クラスに付与される@Statefulアノテーションに "mappedName2"という、存在しない属性を設定しています。 マウスをエラー発生箇所に置くと、関連するエラーメッセージが表示されます。


図8.3.2-1

7.3.3. アノテーションの属性のタイプの検証機能

属性に指定した型の妥当性についての検証です。
@MessageDrivenアノテーションのactivationConfig属性に、期待する型とは異なる文字列型の値を設定すると、エディタでエラーが発生します。また、マウスをエラー発生箇所に置くと、関連するエラーメッセージが表示されます。


図8.3.3-1

7.4. サポートするアノテーション

各カテゴリでサポートするアノテーションについて説明します。

7.4.1. Jakarta EE共通 アノテーション

Jakarta EE共通カテゴリに所属するアノテーションは以下の通りです。
表8.4.1-1
パッケージ名 アノテーション名
jakarta.annotation Generated
jakarta.annotation ManagedBean
jakarta.annotation Nonnull
jakarta.annotation Nullable
jakarta.annotation PostConstruct
jakarta.annotation PreDestroy
jakarta.annotation Priority
jakarta.annotation Resource
jakarta.annotation Resources
jakarta.annotation.security DeclareRoles
jakarta.annotation.security DenyAll
jakarta.annotation.security PermitAll
jakarta.annotation.security RolesAllowed
jakarta.annotation.security RunAs
jakarta.annotation.sql DataSourceDefinition
jakarta.annotation.sql DataSourceDefinitions
jakarta.ejb EJB
jakarta.ejb EJBs
jakarta.persistence PersistenceContext
jakarta.persistence PersistenceContexts
jakarta.persistence PersistenceUnit
jakarta.persistence PersistenceUnits

Memo
EJB(s)、PersistenceContext(s)とPersistenceUnit(s)の6つのアノテーションが他のパッケージからJakarta EE共通カテゴリに移動します。

7.4.2. EJBアノテーション

EJB カテゴリに所属するアノテーションは以下の通りです。
表8.4.2-1
パッケージ名 アノテーション名
jakarta.ejb AccessTimeout
jakarta.ejb AfterBegin
jakarta.ejb AfterCompletion
jakarta.ejb ApplicationException
jakarta.ejb Asynchronous
jakarta.ejb BeforeCompletion
jakarta.ejb ConcurrencyManagement
jakarta.ejb DependsOn
jakarta.ejb Init
jakarta.ejb Local
jakarta.ejb LocalBean
jakarta.ejb LocalHome
jakarta.ejb Lock
jakarta.ejb MessageDriven
jakarta.ejb PostActivate
jakarta.ejb PrePassivate
jakarta.ejb Remote
jakarta.ejb RemoteHome
jakarta.ejb Remove
jakarta.ejb Schedule
jakarta.ejb Schedules
jakarta.ejb Singleton
jakarta.ejb Startup
jakarta.ejb Stateful
jakarta.ejb StatefulTimeout
jakarta.ejb Stateless
jakarta.ejb Timeout
jakarta.ejb TransactionAttribute
jakarta.ejb TransactionManagement
jakarta.interceptor AroundConstruct
jakarta.interceptor AroundInvoke
jakarta.interceptor AroundTimeout
jakarta.interceptor ExcludeClassInterceptors
jakarta.interceptor ExcludeDefaultInterceptors
jakarta.interceptor Interceptor
jakarta.interceptor InterceptorBinding
jakarta.interceptor Interceptors

Memo
jakarta.ejbパッケージで定義されているEJBとEJBsアノテーションはJakarta EE共通カテゴリに移動します。

7.4.3. JPAアノテーション

JPA カテゴリに所属するアノテーションは以下の通りです。
表8.4.3-1
パッケージ名 アノテーション名
jakarta.persistence Access
jakarta.persistence AssociationOverride
jakarta.persistence AssociationOverrides
jakarta.persistence AttributeOverride
jakarta.persistence AttributeOverrides
jakarta.persistence Basic
jakarta.persistence Cacheable
jakarta.persistence CollectionTable
jakarta.persistence Column
jakarta.persistence Convert
jakarta.persistence Converter
jakarta.persistence Converts
jakarta.persistence DiscriminatorColumn
jakarta.persistence DiscriminatorValue
jakarta.persistence ElementCollection
jakarta.persistence Embeddable
jakarta.persistence Embedded
jakarta.persistence EmbeddedId
jakarta.persistence Entity
jakarta.persistence EntityListeners
jakarta.persistence Enumerated
jakarta.persistence ExcludeDefaultListeners
jakarta.persistence ExcludeSuperclassListeners
jakarta.persistence GeneratedValue
jakarta.persistence Id
jakarta.persistence IdClass
jakarta.persistence Inheritance
jakarta.persistence JoinColumn
jakarta.persistence JoinColumns
jakarta.persistence JoinTable
jakarta.persistence Lob
jakarta.persistence ManyToMany
jakarta.persistence ManyToOne
jakarta.persistence MapKey
jakarta.persistence MapKeyClass
jakarta.persistence MapKeyColumn
jakarta.persistence MapKeyEnumerated
jakarta.persistence MapKeyJoinColumn
jakarta.persistence MapKeyJoinColumns
jakarta.persistence MapKeyTemporal
jakarta.persistence MappedSuperclass
jakarta.persistence MapsId
jakarta.persistence NamedEntityGraph
jakarta.persistence NamedEntityGraphs
jakarta.persistence NamedNativeQueries
jakarta.persistence NamedNativeQuery
jakarta.persistence NamedQueries
jakarta.persistence NamedQuery
jakarta.persistence NamedStoredProcedureQueries
jakarta.persistence NamedStoredProcedureQuery
jakarta.persistence OneToMany
jakarta.persistence OneToOne
jakarta.persistence OrderBy
jakarta.persistence OrderColumn
jakarta.persistence PostLoad
jakarta.persistence PostPersist
jakarta.persistence PostRemove
jakarta.persistence PostUpdate
jakarta.persistence PrePersist
jakarta.persistence PreRemove
jakarta.persistence PreUpdate
jakarta.persistence PrimaryKeyJoinColumn
jakarta.persistence PrimaryKeyJoinColumns
jakarta.persistence SecondaryTable
jakarta.persistence SecondaryTables
jakarta.persistence SequenceGenerator
jakarta.persistence SequenceGenerators
jakarta.persistence SqlResultSetMapping
jakarta.persistence SqlResultSetMappings
jakarta.persistence Table
jakarta.persistence TableGenerator
jakarta.persistence TableGenerators
jakarta.persistence Temporal
jakarta.persistence Transient
jakarta.persistence Version
jakarta.persistence.metamodel StaticMetamodel
org.eclipse.persistence.annotations AdditionalCriteria
org.eclipse.persistence.annotations Array
org.eclipse.persistence.annotations BasicCollection
org.eclipse.persistence.annotations BasicMap
org.eclipse.persistence.annotations BatchFetch
org.eclipse.persistence.annotations Cache
org.eclipse.persistence.annotations CacheIndex
org.eclipse.persistence.annotations CacheIndexes
org.eclipse.persistence.annotations CacheInterceptor
org.eclipse.persistence.annotations CascadeOnDelete
org.eclipse.persistence.annotations ChangeTracking
org.eclipse.persistence.annotations ClassExtractor
org.eclipse.persistence.annotations CloneCopyPolicy
org.eclipse.persistence.annotations CollectionTable
org.eclipse.persistence.annotations CompositeMember
org.eclipse.persistence.annotations Convert
org.eclipse.persistence.annotations Converter
org.eclipse.persistence.annotations Converters
org.eclipse.persistence.annotations CopyPolicy
org.eclipse.persistence.annotations Customizer
org.eclipse.persistence.annotations DeleteAll
org.eclipse.persistence.annotations ExcludeDefaultMappings
org.eclipse.persistence.annotations ExistenceChecking
org.eclipse.persistence.annotations FetchGroup
org.eclipse.persistence.annotations FetchGroups
org.eclipse.persistence.annotations HashPartitioning
org.eclipse.persistence.annotations Index
org.eclipse.persistence.annotations Indexes
org.eclipse.persistence.annotations InstantiationCopyPolicy
org.eclipse.persistence.annotations JoinFetch
org.eclipse.persistence.annotations MapKeyConvert
org.eclipse.persistence.annotations Multitenant
org.eclipse.persistence.annotations Mutable
org.eclipse.persistence.annotations NamedStoredFunctionQueries
org.eclipse.persistence.annotations NamedStoredFunctionQuery
org.eclipse.persistence.annotations NamedStoredProcedureQueries
org.eclipse.persistence.annotations NamedStoredProcedureQuery
org.eclipse.persistence.annotations Noncacheable
org.eclipse.persistence.annotations ObjectTypeConverter
org.eclipse.persistence.annotations ObjectTypeConverters
org.eclipse.persistence.annotations OptimisticLocking
org.eclipse.persistence.annotations OrderCorrection
org.eclipse.persistence.annotations Partitioned
org.eclipse.persistence.annotations Partitioning
org.eclipse.persistence.annotations PinnedPartitioning
org.eclipse.persistence.annotations PrimaryKey
org.eclipse.persistence.annotations PrivateOwned
org.eclipse.persistence.annotations Properties
org.eclipse.persistence.annotations Property
org.eclipse.persistence.annotations QueryRedirectors
org.eclipse.persistence.annotations RangePartition
org.eclipse.persistence.annotations RangePartitioning
org.eclipse.persistence.annotations ReadOnly
org.eclipse.persistence.annotations ReadTransformer
org.eclipse.persistence.annotations ReplicationPartitioning
org.eclipse.persistence.annotations ReturnInsert
org.eclipse.persistence.annotations ReturnUpdate
org.eclipse.persistence.annotations RoundRobinPartitioning
org.eclipse.persistence.annotations SerializedObject
org.eclipse.persistence.annotations Struct
org.eclipse.persistence.annotations StructConverter
org.eclipse.persistence.annotations StructConverters
org.eclipse.persistence.annotations Structure
org.eclipse.persistence.annotations TenantDiscriminatorColumn
org.eclipse.persistence.annotations TenantDiscriminatorColumns
org.eclipse.persistence.annotations TenantTableDiscriminator
org.eclipse.persistence.annotations Transformation
org.eclipse.persistence.annotations TypeConverter
org.eclipse.persistence.annotations TypeConverters
org.eclipse.persistence.annotations UnionPartitioning
org.eclipse.persistence.annotations UuidGenerator
org.eclipse.persistence.annotations ValuePartition
org.eclipse.persistence.annotations ValuePartitioning
org.eclipse.persistence.annotations VariableOneToOne
org.eclipse.persistence.annotations VirtualAccessMethods
org.eclipse.persistence.annotations WriteTransformer
org.eclipse.persistence.annotations WriteTransformers
org.eclipse.persistence.oxm.annotations XmlAccessMethods
org.eclipse.persistence.oxm.annotations XmlCDATA
org.eclipse.persistence.oxm.annotations XmlClassExtractor
org.eclipse.persistence.oxm.annotations XmlContainerProperty
org.eclipse.persistence.oxm.annotations XmlCustomizer
org.eclipse.persistence.oxm.annotations XmlDiscriminatorNode
org.eclipse.persistence.oxm.annotations XmlDiscriminatorValue
org.eclipse.persistence.oxm.annotations XmlElementsJoinNodes
org.eclipse.persistence.oxm.annotations XmlInverseReference
org.eclipse.persistence.oxm.annotations XmlIsSetNullPolicy
org.eclipse.persistence.oxm.annotations XmlJoinNode
org.eclipse.persistence.oxm.annotations XmlJoinNodes
org.eclipse.persistence.oxm.annotations XmlKey
org.eclipse.persistence.oxm.annotations XmlLocation
org.eclipse.persistence.oxm.annotations XmlNamedAttributeNode
org.eclipse.persistence.oxm.annotations XmlNamedObjectGraph
org.eclipse.persistence.oxm.annotations XmlNamedObjectGraphs
org.eclipse.persistence.oxm.annotations XmlNamedSubgraph
org.eclipse.persistence.oxm.annotations XmlNameTransformer
org.eclipse.persistence.oxm.annotations XmlNullPolicy
org.eclipse.persistence.oxm.annotations XmlPath
org.eclipse.persistence.oxm.annotations XmlPaths
org.eclipse.persistence.oxm.annotations XmlProperties
org.eclipse.persistence.oxm.annotations XmlProperty
org.eclipse.persistence.oxm.annotations XmlReadOnly
org.eclipse.persistence.oxm.annotations XmlReadTransformer
org.eclipse.persistence.oxm.annotations XmlTransformation
org.eclipse.persistence.oxm.annotations XmlVariableNode
org.eclipse.persistence.oxm.annotations XmlVirtualAccessMethods
org.eclipse.persistence.oxm.annotations XmlWriteOnly
org.eclipse.persistence.oxm.annotations XmlWriteTransformer
org.eclipse.persistence.oxm.annotations XmlWriteTransformers
org.eclipse.persistence.platform.database.oracle.annotations NamedPLSQLStoredFunctionQueries
org.eclipse.persistence.platform.database.oracle.annotations NamedPLSQLStoredFunctionQuery
org.eclipse.persistence.platform.database.oracle.annotations NamedPLSQLStoredProcedureQueries
org.eclipse.persistence.platform.database.oracle.annotations NamedPLSQLStoredProcedureQuery
org.eclipse.persistence.platform.database.oracle.annotations OracleArray
org.eclipse.persistence.platform.database.oracle.annotations OracleArrays
org.eclipse.persistence.platform.database.oracle.annotations OracleObject
org.eclipse.persistence.platform.database.oracle.annotations OracleObjects
org.eclipse.persistence.platform.database.oracle.annotations PLSQLRecord
org.eclipse.persistence.platform.database.oracle.annotations PLSQLRecords
org.eclipse.persistence.platform.database.oracle.annotations PLSQLTable
org.eclipse.persistence.platform.database.oracle.annotations PLSQLTables

Memo
jakarta.persistenceパッケージで定義されているPersistenceContext(s)とPersistenceUnit(s)アノテーションはJakarta EE共通カテゴリに移動します。

7.4.4. JAXBアノテーション

JAXB カテゴリに所属するアノテーションは以下の通りです。
表8.4.4-1
パッケージ名 アノテーション名
jakarta.xml.bind.annotation XmlAccessorOrder
jakarta.xml.bind.annotation XmlAccessorType
jakarta.xml.bind.annotation XmlAnyAttribute
jakarta.xml.bind.annotation XmlAnyElement
jakarta.xml.bind.annotation XmlAttachmentRef
jakarta.xml.bind.annotation XmlAttribute
jakarta.xml.bind.annotation XmlElement
jakarta.xml.bind.annotation XmlElementDecl
jakarta.xml.bind.annotation XmlElementRef
jakarta.xml.bind.annotation XmlElementRefs
jakarta.xml.bind.annotation XmlElements
jakarta.xml.bind.annotation XmlElementWrapper
jakarta.xml.bind.annotation XmlEnum
jakarta.xml.bind.annotation XmlEnumValue
jakarta.xml.bind.annotation XmlID
jakarta.xml.bind.annotation XmlIDREF
jakarta.xml.bind.annotation XmlInlineBinaryData
jakarta.xml.bind.annotation XmlList
jakarta.xml.bind.annotation XmlMimeType
jakarta.xml.bind.annotation XmlMixed
jakarta.xml.bind.annotation XmlRegistry
jakarta.xml.bind.annotation XmlRootElement
jakarta.xml.bind.annotation XmlSchema
jakarta.xml.bind.annotation XmlSchemaType
jakarta.xml.bind.annotation XmlSchemaTypes
jakarta.xml.bind.annotation XmlSeeAlso
jakarta.xml.bind.annotation XmlTransient
jakarta.xml.bind.annotation XmlType
jakarta.xml.bind.annotation XmlValue
jakarta.xml.bind.annotation.adapters XmlJavaTypeAdapter
jakarta.xml.bind.annotation.adapters XmlJavaTypeAdapters

7.4.5. JAX-WSアノテーション

JAX-WS カテゴリに所属するアノテーションは以下の通りです。
表8.4.5-1
パッケージ名 アノテーション名
jakarta.jws HandlerChain
jakarta.jws Oneway
jakarta.jws WebMethod
jakarta.jws WebParam
jakarta.jws WebResult
jakarta.jws WebService
jakarta.jws.soap SOAPBinding
jakarta.xml.ws Action
jakarta.xml.ws BindingType
jakarta.xml.ws FaultAction
jakarta.xml.ws RequestWrapper
jakarta.xml.ws RespectBinding
jakarta.xml.ws ResponseWrapper
jakarta.xml.ws ServiceMode
jakarta.xml.ws WebEndpoint
jakarta.xml.ws WebFault
jakarta.xml.ws WebServiceClient
jakarta.xml.ws WebServiceProvider
jakarta.xml.ws WebServiceRef
jakarta.xml.ws WebServiceRefs
jakarta.xml.ws.soap Addressing
jakarta.xml.ws.soap MTOM
jakarta.xml.ws.spi WebServiceFeatureAnnotation
com.nec.webotx.webservice.xml.ws.api FeatureConstructor
com.nec.webotx.webservice.xml.ws.api.server InstanceResolverAnnotation
com.nec.webotx.webservice.xml.ws.developer MemberSubmissionAddressing
com.nec.webotx.webservice.xml.ws.developer.servlet HttpSessionScope

Caution
1. jakarta.jws.soapパッケージで定義されているInitParam、SOAPMessageHandlerとSOAPMessageHandlersの3つのアノテーションはJAX-WSでは未サポートのアノテーションのため、サポートしません。
2. com.nec.webotx.webservice.xml.ws.developer.Statefulは、jakarta.ejb.Statefulとクラス名の衝突が発生するため、現時点でサポートしません。

7.4.6. JAX-RSアノテーション

JAX-RS カテゴリに所属するアノテーションは以下の通りです。
表8.4.6-1
パッケージ名 アノテーション名
jakarta.ws.rs ApplicationPath
jakarta.ws.rs BeanParam
jakarta.ws.rs ConstrainedTo
jakarta.ws.rs Consumes
jakarta.ws.rs CookieParam
jakarta.ws.rs DefaultValue
jakarta.ws.rs DELETE
jakarta.ws.rs Encoded
jakarta.ws.rs FormParam
jakarta.ws.rs GET
jakarta.ws.rs HEAD
jakarta.ws.rs HeaderParam
jakarta.ws.rs HttpMethod
jakarta.ws.rs MatrixParam
jakarta.ws.rs NameBinding
jakarta.ws.rs OPTIONS
jakarta.ws.rs PATCH
jakarta.ws.rs Path
jakarta.ws.rs PathParam
jakarta.ws.rs POST
jakarta.ws.rs Produces
jakarta.ws.rs PUT
jakarta.ws.rs QueryParam
jakarta.ws.rs.container PreMatching
jakarta.ws.rs.container Suspended
jakarta.ws.rs.core Context
jakarta.ws.rs.ext Provider

7.4.7. Servletアノテーション

Servlet カテゴリに所属するアノテーションは以下の通りです。
表8.4.7-1
パッケージ名 アノテーション名
jakarta.servlet.annotation HandlesTypes
jakarta.servlet.annotation MultipartConfig
jakarta.servlet.annotation ServletSecurity
jakarta.servlet.annotation WebFilter
jakarta.servlet.annotation WebInitParam
jakarta.servlet.annotation WebListener
jakarta.servlet.annotation WebServlet

7.4.8. JSFアノテーション

JSF カテゴリに所属するアノテーションは以下の通りです。
表8.4.8-1
パッケージ名 アノテーション名
jakarta.faces.annotation ApplicationMap
jakarta.faces.annotation FacesConfig
jakarta.faces.annotation FlowMap
jakarta.faces.annotation HeaderMap
jakarta.faces.annotation HeaderValuesMap
jakarta.faces.annotation InitParameterMap
jakarta.faces.annotation ManagedProperty
jakarta.faces.annotation RequestCookieMap
jakarta.faces.annotation RequestMap
jakarta.faces.annotation RequestParameterMap
jakarta.faces.annotation RequestParameterValuesMap
jakarta.faces.annotation SessionMap
jakarta.faces.annotation View
jakarta.faces.annotation ViewMap
jakarta.faces.application ResourceDependencies
jakarta.faces.application ResourceDependency
jakarta.faces.component FacesComponent
jakarta.faces.component.behavior FacesBehavior
jakarta.faces.convert FacesConverter
jakarta.faces.event ListenerFor
jakarta.faces.event ListenersFor
jakarta.faces.event NamedEvent
jakarta.faces.flow FlowScoped
jakarta.faces.flow.builder FlowBuilderParameter
jakarta.faces.flow.builder FlowDefinition
jakarta.faces.lifecycle ClientWindowScoped
jakarta.faces.model FacesDataModel
jakarta.faces.push Push
jakarta.faces.render FacesBehaviorRenderer
jakarta.faces.render FacesRenderer
jakarta.faces.validator FacesValidator
jakarta.faces.view ViewScoped

7.4.9. CDIアノテーション

CDI カテゴリに所属するアノテーションは以下の通りです。
表8.4.9-1
パッケージ名 アノテーション名
jakarta.decorator Decorator
jakarta.decorator Delegate
jakarta.enterprise.concurrent Asynchronous
jakarta.enterprise.concurrent ContextServiceDefinition
jakarta.enterprise.concurrent ManagedExecutorDefinition
jakarta.enterprise.concurrent ManagedScheduledExecutorDefinition
jakarta.enterprise.concurrent ManagedThreadFactoryDefinition
jakarta.enterprise.context ApplicationScoped
jakarta.enterprise.context BeforeDestroyed
jakarta.enterprise.context ConversationScoped
jakarta.enterprise.context Dependent
jakarta.enterprise.context Destroyed
jakarta.enterprise.context Initialized
jakarta.enterprise.context NormalScope
jakarta.enterprise.context RequestScoped
jakarta.enterprise.context SessionScoped
jakarta.enterprise.context.control ActivateRequestContext
jakarta.enterprise.event Observes
jakarta.enterprise.event ObservesAsync
jakarta.enterprise.inject Alternative
jakarta.enterprise.inject Any
jakarta.enterprise.inject Decorated
jakarta.enterprise.inject Default
jakarta.enterprise.inject Disposes
jakarta.enterprise.inject Intercepted
jakarta.enterprise.inject Model
jakarta.enterprise.inject Produces
jakarta.enterprise.inject Specializes
jakarta.enterprise.inject Stereotype
jakarta.enterprise.inject TransientReference
jakarta.enterprise.inject Typed
jakarta.enterprise.inject Vetoed
jakarta.enterprise.inject.build.compatible.spi Discovery
jakarta.enterprise.inject.build.compatible.spi Enhancement
jakarta.enterprise.inject.build.compatible.spi Registration
jakarta.enterprise.inject.build.compatible.spi SkipIfPortableExtensionPresent
jakarta.enterprise.inject.build.compatible.spi Synthesis
jakarta.enterprise.inject.build.compatible.spi Validation
jakarta.enterprise.inject.spi WithAnnotations
jakarta.enterprise.util Nonbinding
jakarta.inject Inject
jakarta.inject Named
jakarta.inject Qualifier
jakarta.inject Scope
jakarta.inject Singleton

7.4.10. Bean Validationアノテーション

Bean Validation カテゴリに所属するアノテーションは以下の通りです。
表8.4.10-1
パッケージ名 アノテーション名
jakarta.validation Constraint
jakarta.validation GroupSequence
jakarta.validation OverridesAttribute
jakarta.validation ReportAsSingleViolation
jakarta.validation Valid
jakarta.validation.constraints AssertFalse
jakarta.validation.constraints AssertTrue
jakarta.validation.constraints DecimalMax
jakarta.validation.constraints DecimalMin
jakarta.validation.constraints Digits
jakarta.validation.constraints Email
jakarta.validation.constraints Future
jakarta.validation.constraints FutureOrPresent
jakarta.validation.constraints Max
jakarta.validation.constraints Min
jakarta.validation.constraints Negative
jakarta.validation.constraints NegativeOrZero
jakarta.validation.constraints NotBlank
jakarta.validation.constraints NotEmpty
jakarta.validation.constraints NotNull
jakarta.validation.constraints Null
jakarta.validation.constraints Past
jakarta.validation.constraints PastOrPresent
jakarta.validation.constraints Pattern
jakarta.validation.constraints Positive
jakarta.validation.constraints PositiveOrZero
jakarta.validation.constraints Size
jakarta.validation.constraintvalidation SupportedValidationTarget
jakarta.validation.executable ValidateOnExecution
jakarta.validation.groups ConvertGroup
jakarta.validation.valueextraction UnwrapByDefault

7.4.11. WebSocket アノテーション

WebSocket カテゴリに所属するアノテーションは以下の通りです。
表8.4.11-1
パッケージ名 アノテーション名
jakarta.websocket ClientEndpoint
jakarta.websocket OnClose
jakarta.websocket OnError
jakarta.websocket OnMessage
jakarta.websocket OnOpen
jakarta.websocket.server PathParam
jakarta.websocket.server ServerEndpoint

7.4.12. Portletアノテーション

Portlet カテゴリに所属するアノテーションは以下の通りです。
表8.4.12-1
パッケージ名 アノテーション名
javax.portlet ProcessAction
javax.portlet ProcessEvent
javax.portlet RenderMode

7.4.13. Batchアノテーション

Batch カテゴリに所属するアノテーションは以下の通りです。
表8.4.13-1
パッケージ名 アノテーション名
jakarta.batch.api BatchProperty

7.4.14. JavaMailアノテーション

JavaMail カテゴリに所属するアノテーションは以下の通りです。
表8.4.14-1
パッケージ名 アノテーション名
jakarta.mail MailSessionDefinition
jakarta.mail MailSessionDefinitions

7.4.15. JCAアノテーション

JCA カテゴリに所属するアノテーションは以下の通りです。
表8.4.15-1
パッケージ名 アノテーション名
jakarta.resource AdministeredObjectDefinition
jakarta.resource AdministeredObjectDefinitions
jakarta.resource ConnectionFactoryDefinition
jakarta.resource ConnectionFactoryDefinitions
jakarta.resource.spi Activation
jakarta.resource.spi AdministeredObject
jakarta.resource.spi ConfigProperty
jakarta.resource.spi ConnectionDefinition
jakarta.resource.spi ConnectionDefinitions
jakarta.resource.spi Connector

7.4.16. JMSアノテーション

JMS カテゴリに所属するアノテーションは以下の通りです。
表8.4.16-1
パッケージ名 アノテーション名
jakarta.jms JMSConnectionFactory
jakarta.jms JMSConnectionFactoryDefinition
jakarta.jms JMSConnectionFactoryDefinitions
jakarta.jms JMSDestinationDefinition
jakarta.jms JMSDestinationDefinitions
jakarta.jms JMSPasswordCredential
jakarta.jms JMSSessionMode

7.4.17. JTAアノテーション

JTA カテゴリに所属するアノテーションは以下の通りです。
表8.4.17-1
パッケージ名 アノテーション名
jakarta.transaction Transactional
jakarta.transaction TransactionScoped

7.4.18. Securityアノテーション

Security カテゴリに所属するアノテーションは以下の通りです。
表8.4.18-1
パッケージ名 アノテーション名
jakarta.security.enterprise.authentication.mechanism.http AutoApplySession
jakarta.security.enterprise.authentication.mechanism.http BasicAuthenticationMechanismDefinition
jakarta.security.enterprise.authentication.mechanism.http CustomFormAuthenticationMechanismDefinition
jakarta.security.enterprise.authentication.mechanism.http FormAuthenticationMechanismDefinition
jakarta.security.enterprise.authentication.mechanism.http LoginToContinue
jakarta.security.enterprise.authentication.mechanism.http OpenIdAuthenticationMechanismDefinition
jakarta.security.enterprise.authentication.mechanism.http RememberMe
jakarta.security.enterprise.authentication.mechanism.http.openid ClaimsDefinition
jakarta.security.enterprise.authentication.mechanism.http.openid LogoutDefinition
jakarta.security.enterprise.authentication.mechanism.http.openid OpenIdProviderMetadata
jakarta.security.enterprise.identitystore DatabaseIdentityStoreDefinition
jakarta.security.enterprise.identitystore LdapIdentityStoreDefinition

7.4.19. JSON Bindingアノテーション

JSON Binding カテゴリに所属するアノテーションは以下の通りです。
表8.4.19-1
パッケージ名 アノテーション名
jakarta.json.bind.annotation JsonbAnnotation
jakarta.json.bind.annotation JsonbCreator
jakarta.json.bind.annotation JsonbDateFormat
jakarta.json.bind.annotation JsonbNillable
jakarta.json.bind.annotation JsonbNumberFormat
jakarta.json.bind.annotation JsonbProperty
jakarta.json.bind.annotation JsonbPropertyOrder
jakarta.json.bind.annotation JsonbTransient
jakarta.json.bind.annotation JsonbTypeAdapter
jakarta.json.bind.annotation JsonbTypeDeserializer
jakarta.json.bind.annotation JsonbTypeInfo
jakarta.json.bind.annotation JsonbTypeSerializer
jakarta.json.bind.annotation JsonbVisibility

7.5. 注意制限事項

7.5.1. 注意事項

7.5.1.1. 注釈プロパティー・ビューで属性を追加できない
後ろに括弧が無いアノテーションの場合、注釈プロパティー・ビューで正しく属性を追加できない場合があります。
この問題は、エディタを用いて該当のアノテーションに括弧を補うことで回避が可能です。
7.5.1.2. インナークラスとして宣言されたアノテーションは注釈プロパティー・ビューで編集できない
jakarta.ws.rs.extパッケージで定義されているParamConverter.Lazyなど、インナークラスとして宣言されたアノテーションについては、注釈プロパティー・ビューで編集できません。
エディタから直接入力してください。

7.5.2. 制限事項

特にありません。