This is a cache of http://dbflute.seasar.org/ja/manual/function/generator/task/sql2entity/behaviorquerypath.html. It is a snapshot of the page at 2024-11-13T00:20:52.529+0000.
BehaviorQueryPath | DBFlute

BehaviorQueryPath

sql2Entityで自動生成される BehaviorQueryPath についてのページです。

BehaviorQueryPathとは?

BehaviorQueryPath とは、外だしsQLの BehaviorQuery のパス表現のことを指します。

外だしsQLの使い方 - テーブル駆動でsQLを管理

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, ...);