エンティティのメソッド
ActiveObjectsではエンティティの実装を書く必要はありません。
EntityManagerに対しfind()メソッド等を呼び出すことで、エンティティの実装を取得することができますが、
この実装はActiveObjectsが動的に作成してくれるものです。
今回は、エンティティに対して呼び出せるメソッドについて整理しました。
エンティティのメソッドを実装インタフェース・継承クラスなどで整理
エンティティに対しメソッド呼び出しが行われると、どのような処理を行うかの判定が行われます。
以下に、判定内容および、対応する処理をまとめました。
なお、実際のメソッドの判定は、判定順に行われます。
RawEntityのメソッド
いつでも使用できます。
判定順 | メソッド名 | 概要 |
---|---|---|
1 | getEntityType | エンティティの型を取得する。 |
4 | save | エンティティを保存する。 |
6 | getEntityManager | エンティティマネージャを取得する。 |
7 | addPropertyChangeListener | プロパティ変更リスナを追加する。 |
8 | removePropertyChangeListener | プロパティ変更リスナを削除する。 |
Objectのメソッド
いつでも使用できます。
判定順 | メソッド名 | 概要 |
---|---|---|
9 | hashCode | キーと値に基づくハッシュ値を取得する。 |
10 | equals | テーブルと主キーの値が等しいことを確認する。 |
11 | toString | "テーブル名 {主キーのフィールド名 : 主キーの値}"を返す。 |
エンティティインタフェースのメソッド
エンティティインタフェースに宣言すると使用できます。
判定順位 | メソッド名 または メソッドの条件 | 概要 |
---|---|---|
3 | 主キーのアクセッサのメソッド名 | 主キーを取得する。 |
5 | getTableName | テーブル名を取得する。 |
13 | Accessorアノテーションを持つ | エンティティの値を取得する。 |
14 | Mutatorアノテーションを持つ | エンティティの値を設定する。 |
15 | OneToOneアノテーションを持ち、戻り値の型がエンティティ | 1対1の対応先のエンティティを取得する。 |
16 | OneToManyアノテーションをもち、戻り値の型がエンティティの配列 | 1対多の対応先のエンティティ(複数)を取得する。 |
17 | ManyToManyアノテーションをもち、戻り値の型がエンティティの配列 | 多対多の対応先のエンティティ(複数)を取得する。 |
18 | アクセッサである(メソッド名の先頭がis、または、get) | エンティティの値を取得する。 |
19 | ミューテータである(メソッド名の先頭がset) | エンティティの値を設定する。 |
非nullチェック
判定の途中で、引数の非nullチェックが行われます。
判定順 | 概要 |
---|---|
12 | NotNulアノテーションを持つ場合、引数の非nullチェックを行う。引数がnullの場合はIllegalArgumentExceptionが発生します。 |
明示的な実装の呼び出し
以下を満たす場合、明示的な実装クラスのメソッドが呼び出されます。
- @Implementationアノテーションで実装クラスを指定している。
- 実装クラスでメソッドが実装されている。
判定順 | メソッドの条件 | 概要 |
---|---|---|
2 | クラスが明示的な実装メソッドを持つ | 実装メソッドに移譲する。 |
上記と同じものを判定順に並べたもの
判定順 | メソッド名 または メソッドの条件 | 概要 |
---|---|---|
1 | getEntityType | エンティティの型を取得する。 |
2 | Implementationアノテーションの値の表わすクラスのもつメソッド名 | Implementationアノテーションの値の表わすクラスに移譲する。 |
3 | 主キーのアクセッサのメソッド名 | 主キーを取得する。 |
4 | save | エンティティを保存する。 |
5 | getTableName | テーブル名を取得する。 |
6 | getEntityManager | エンティティマネージャを取得する。 |
7 | addPropertyChangeListener | プロパティ変更リスナを追加する。 |
8 | removePropertyChangeListener | プロパティ変更リスナを削除する。 |
9 | hashCode | キーと値に基づくハッシュ値を取得する。 |
10 | equals | テーブルと主キーの値が等しいことを確認する。 |
11 | toString | "テーブル名 {主キーのフィールド名 : 主キーの値}"を返す。 |
12 | - | NotNulアノテーションを持つ場合、引数の非nullチェックを行う。 |
13 | Accessorアノテーションを持つ | エンティティの値を取得する。 |
14 | Mutatorアノテーションを持つ | エンティティの値を設定する。 |
15 | OneToOneアノテーションを持ち、戻り値の型がエンティティ | 1対1の対応先のエンティティを取得する。 |
16 | OneToManyアノテーションをもち、戻り値の型がエンティティの配列 | 1対多の対応先のエンティティ(複数)を取得する。 |
17 | ManyToManyアノテーションをもち、戻り値の型がエンティティの配列 | 多対多の対応先のエンティティ(複数)を取得する。 |
18 | アクセッサである(メソッド名の先頭がis、または、get) | エンティティの値を取得する。 |
19 | ミューテータである(メソッド名の先頭がset) | エンティティの値を設定する。 |