|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
T
- エンティティの型です。public interface AutoSelect<T>
SQLを自動生成する検索です。
メソッドの概要 | |
---|---|
AutoSelect<T> |
forUpdate()
FOR UPDATEを追加します。 |
AutoSelect<T> |
forUpdate(String... propertyNames)
FOR UPDATEを追加します。 |
AutoSelect<T> |
forUpdateNowait()
FOR UPDATE NOWAITを追加します。 |
AutoSelect<T> |
forUpdateNowait(String... propertyNames)
FOR UPDATE NOWAITを追加します。 |
AutoSelect<T> |
forUpdateWait(int seconds)
FOR UPDATE WAITを追加します。 |
AutoSelect<T> |
forUpdateWait(int seconds,
String... propertyNames)
FOR UPDATE WAITを追加します。 |
AutoSelect<T> |
id(Object... idProperties)
where句の条件にIdプロパティ(主キー)を指定します。 |
AutoSelect<T> |
innerJoin(String name)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
innerJoin(String name,
boolean fetch)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
join(String name,
JoinType joinType)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(String name,
JoinType joinType,
boolean fetch)
結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(String name)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(String name,
boolean fetch)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
orderBy(String orderBy)
ソート順を追加します。 |
AutoSelect<T> |
version(Object versionProperty)
where句の条件にバージョンプロパティを指定します。 |
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 から継承されたメソッド |
---|
disallowNoResult, fetchSize, getResultList, getSingleResult, limit, lob, maxRows, offset, temporal |
インタフェース org.seasar.extension.jdbc.Query から継承されたメソッド |
---|
callerClass, callerMethodName, queryTimeout |
メソッドの詳細 |
---|
AutoSelect<T> innerJoin(String name)
指定したエンティティはフェッチされます。
name
- 内部結合する関連のプロパティ名
JoinMeta
,
join(String, JoinType)
AutoSelect<T> innerJoin(String name, boolean fetch)
name
- 内部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。
join(String, JoinType, boolean)
AutoSelect<T> leftOuterJoin(String name)
指定したエンティティはフェッチされます。
name
- 左外部結合する関連のプロパティ名
JoinMeta
,
join(String, JoinType)
AutoSelect<T> leftOuterJoin(String name, boolean fetch)
name
- 左外部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。
join(String, JoinType, boolean)
AutoSelect<T> join(String name, JoinType joinType)
指定したエンティティはフェッチされます。
name
- 結合するプロパティ名joinType
- 結合タイプ
join(String, JoinType, boolean)
AutoSelect<T> join(String name, JoinType joinType, boolean fetch)
name
- 結合するプロパティ名。
ネストしている場合は、aaa.bbb
のように.で区切ります。
aaa.bbb
を指定する場合は、先にベースの結合(aaa
)を指定する必要があります。
joinType
- 結合タイプfetch
- 関連するエンティティをフェッチするかどうか。
AutoSelect<T> id(Object... idProperties)
idProperties
- 主キーの値の並び
AutoSelect<T> version(Object versionProperty)
versionProperty
- バージョン
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
- パラメータの配列
パラメータの配列の要素がDate
、Calendar
のいずれか場合、Parameter
に定義されたメソッドによりパラメータの時制を指定できます。
パラメータの配列の要素がString
、byte[]
、Serializable
のいずれかの場合、Parameter
に定義されたメソッドによりパラメータをラージオブジェクトとして扱えます。
Parameter
AutoSelect<T> where(Where where)
where
- where句のビルダー
AutoSelect<T> orderBy(String orderBy)
orderBy
-
AutoSelect<T> forUpdate()
UnsupportedOperationException
- DBMSがこの操作をサポートしていない場合AutoSelect<T> forUpdate(String... propertyNames)
propertyNames
- ロック対象のプロパティ名の並び
UnsupportedOperationException
- DBMSがこの操作をサポートしていない場合AutoSelect<T> forUpdateNowait()
UnsupportedOperationException
- DBMSがこの操作をサポートしていない場合AutoSelect<T> forUpdateNowait(String... propertyNames)
propertyNames
- ロック対象のプロパティ名の並び
UnsupportedOperationException
- DBMSがこの操作をサポートしていない場合AutoSelect<T> forUpdateWait(int seconds)
seconds
- ロックを獲得できるまでの最大待機時間(秒単位)
UnsupportedOperationException
- DBMSがこの操作をサポートしていない場合AutoSelect<T> forUpdateWait(int seconds, String... propertyNames)
seconds
- ロックを獲得できるまでの最大待機時間(秒単位)propertyNames
- ロック対象のプロパティ名の並び
UnsupportedOperationException
- DBMSがこの操作をサポートしていない場合
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |