|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
T
- エンティティの型です。public interface AutoSelect<T>
SQLを自動生成する検索です。
メソッドの概要 | |
---|---|
AutoSelect<T> |
join(String name)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(String name,
boolean fetch)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(String name,
JoinType joinType)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(String name,
JoinType joinType,
boolean fetch)
結合するプロパティを指定します。 |
AutoSelect<T> |
orderBy(String orderBy)
ソート順を追加します。 |
AutoSelect<T> |
where(Map<String,? extends Object> conditions)
where句の条件を指定します。 |
AutoSelect<T> |
where(String criteria,
Object... params)
where句の条件を指定します。 |
AutoSelect<T> |
where(Where where)
where句の条件を指定します。 |
インタフェース org.seasar.extension.jdbc.Select から継承されたメソッド |
---|
fetchSize, getResultList, getSingleResult, limit, maxRows, offset |
インタフェース org.seasar.extension.jdbc.Query から継承されたメソッド |
---|
callerClass, callerMethodName, queryTimeout |
メソッドの詳細 |
---|
AutoSelect<T> join(String name)
結合するプロパティを指定します。
デフォルトの結合タイプは左外部結合で、 指定したエンティティはフェッチされます。
name
- 結合するプロパティ名
JoinMeta
,
join(String, JoinType)
AutoSelect<T> join(String name, JoinType joinType)
結合するプロパティを指定します。
指定したエンティティはフェッチされます。
name
- 結合するプロパティ名joinType
- 結合タイプ
join(String, JoinType, boolean)
AutoSelect<T> join(String name, boolean fetch)
結合するプロパティを指定します。
デフォルトの結合タイプは左外部結合です。
name
- 結合するプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。
join(String, JoinType, boolean)
AutoSelect<T> join(String name, JoinType joinType, boolean fetch)
結合するプロパティを指定します。
name
- 結合するプロパティ名。
ネストしている場合は、aaa.bbb
のように.で区切ります。
aaa.bbb
を指定する場合は、先にベースの結合(aaa
)を指定する必要があります。
joinType
- 結合タイプfetch
- 関連するエンティティをフェッチするかどうか。
AutoSelect<T> where(Map<String,? extends Object> conditions)
conditions
- where句の条件です。
Mapのキーにはプロパティ名、値には条件値を指定します。
例えば、map.put("id", 1)
と指定した場合、
id = ?
という条件になり、バインド変数が1になります。
値がnullならwhere句には追加されません。
map.put("name", null)
と指定した場合、
where句に条件は追加されないという意味です。
なぜこのような仕様になっているかというと検索条件の入力画面で 条件を組み立てるときに、入力値があるものだけ 条件に追加するケースを便利に扱うためです。
複数の条件が指定された場合は、and
で結合されます。
結合先のプロパティはキーに結合名.プロパティ名と指定します。 ネストした結合も指定することができます。
例えば、Departmentの検索で一対多の関連であるemployeesのnameプロパティを指定する場合、 キーに"employees.name"と指定します。
Employeeの検索で多対一であるdepartmentのnameプロパティを指定する場合、 キーに"department.name"と指定します。
等価(=)以外の条件を指定する場合、キーにプロパティ名_サフィックスを指定します。 サフィックスによってどのような条件になるのかが決まります。
サフィックスにはEQ(=)、NE(<>)、LT(<)、LE(<=)、 GT(>)、GE(>=)、IN(in)、NOT_IN(not in)、LIKE(like '?')、 STARTS(like '?%')、ENDS(like '%?')、CONTAINS(like '%?%')、 IS_NULL(is null)、IS_NOT_NULL(is not null)を指定することができます。
IN、NOT_INの場合、値には配列、リストを指定します。 値がnullもしくは要素の数がゼロの場合条件には追加されません。
IS_NULL、IS_NOT_NULLの場合、値にはBooleanを指定します。 例えば、map.put("hoge_IS_NOT_NULL", true)
の場合、
条件はhoge is not null
になります。
値がnullもしくはfalseだった場合、条件には追加されません。
AutoSelect<T> where(String criteria, Object... params)
criteria
- クライテリアparams
- パラメータの配列
AutoSelect<T> where(Where where)
where
- where句のビルダー
AutoSelect<T> orderBy(String orderBy)
orderBy
-
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |