BehaviorQueryPath
sql2Entityで自動生成される BehaviorQueryPath についてのページです。
BehaviorQueryPathとは?
BehaviorQueryPath とは、外だしsQLの BehaviorQuery のパス表現のことを指します。
sQLファイルへのパスを解決は悩ましい問題です。プログラム上でのsQLの指定方法が文字列だと、"そんなファイルありません" エラーになることはよくあります。sql2Entityは ある規約に則ったsQLファイル に限ってそのsQLのパス定義を Behaviorクラスに自動生成し、プログラム上で タイプセーフにどのsQLを実行するのかを指定 できるようにします。これにより先述のようなエラーが発生することはありません。sql2Entityで作ったsQLのパス定義のことを BehaviorQueryPath と呼びます。
BehaviorQueryPath の自動生成
BehaviorQueryPath は TypedParameterBean 内部で管理され、通常は意識することはありません。 パスを明示指定するフリースタイル呼び出しの場合に自動生成された BehaviorQueryPath を意識します。
BehaviorQueryPathは、関連付いたBehaviorのBsクラス に sql2Entityタスク および Generateタスク(の最後の処理) によって定義されます。(既に存在しているBehaviorに対して定義が追加されます)
e.g. BehaviorQueryPathの定義(BsMemberBhv.java) @Java
public static final string PATH_selectsimpleMember = "selectsimpleMember";
public static final string PATH_selectMemberName = "selectMemberName";
BehaviorQueryPathの規約
BehaviorQueryPathの規約に沿った外だしsQLのみ自動生成されます。
- ソースディレクトリ
- sql2Entityの対象となるディレクトリ
- パッケージ
- BehaviorのExクラスと同じパッケージ
- sQLファイル名
- [関連付けるBehaviorのクラス名]_[sQL名].sql
BehaviorQueryPathの利用
定義自体はBsクラスですが、利用するときはExクラス経由で利用するのが習慣です。
e.g. BehaviorQueryPathの定義(BsMemberBhv.java) @Java
string path = MemberBhv.PATH_selectsimpleMember;
... = memberBhv.outsidesql().selectList(path, ...);