ひがやすを技術ブログ

電通国際情報サービスのプログラマ

1:Nマッピング, join句

次のバージョンの話ではないのですが、1:Nマッピングを追加します。lazy-loadingではなく、一回のフェッチで取得します。lazy-loadingしたければ、個別にDaoを呼び出せば良いと考えています。

public class Department {
public static final String employees_RELNO = 0;
//public static final String employees_RELKEYS = "deptno:deptno";
public static final Class employees_BEAN = Employee.class;

private List employees;
}

N:1,1:Nマッピングはデフォルトだとどっちも有効です。しかし、メソッドごとに有効にしたいマッピングを選びたい場合があります。常に関連するすべてのデータが欲しいわけではないためです。
そんな時に使うのが、QUERYアノテーションのjoin句です。joinの後に、有効にしたいマッピングのプロパティ名を指定します。複数ある場合には、カンマで区切ります。

String getEmployees_QUERY = "join department, hoge";

条件がある場合は、where句で追加します。join句がない場合は、where句は必要ありません。

String getEmployees_QUERY = "join department, hoge where deptno = ?";

nojoin句を使うとすべてのN:1,1:Nマッピングが無効になります。


最近になって、S2Daoの機能がかなり強化されている背景には、私が実際に仕事で使っていて欲しい機能が増えていることと、仕事中に作業できるということがあります。(^^;