|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.seasar.extension.jdbc.query.AbstractQuery<S> org.seasar.extension.jdbc.query.AbstractSelect<T,AutoSelect<T>> org.seasar.extension.jdbc.query.AutoSelectImpl<T>
T
- エンティティの型です。public class AutoSelectImpl<T>
AutoSelect
の実装クラスです。
フィールドの概要 | |
---|---|
protected java.util.Map<java.lang.String,? extends java.lang.Object> |
conditions
Mapによるwhere句の条件指定です。 |
protected java.lang.String |
criteria
クライテリアです。 |
protected java.lang.Object[] |
criteriaParams
クライテリア内のパラメータの配列です。 |
protected java.lang.String[] |
criteriaPropertyNames
クライテリア内のパラメータに対応するプロパティ名の配列です。 |
protected java.util.Set<java.lang.String> |
eagerProperties
EAGERフェッチするプロパティです。 |
protected java.util.Map<java.lang.String,AbstractEntityMapper> |
entityMapperMap
エンティティマッパーのマップです。 |
protected java.util.Map<java.lang.String,EntityMeta> |
entityMetaMap
エンティティメタデータのマップです。 |
protected java.lang.String |
entityName
エンティティ名です。 |
protected java.util.Set<java.lang.String> |
excludesProperties
select句から除外するプロパティ |
protected java.lang.String |
forUpdate
SELECT ~ FOR UPDATEのSQL文字列です。 |
protected java.util.Map<java.lang.String,java.lang.String> |
forUpdateTargets
SELECT ~ FOR UPDATEでロック対象となるエンティティからプロパティへのマップです。 |
protected SelectForUpdateType |
forUpdateType
SELECT ~ FOR UPDATEのタイプです。 |
protected int |
forUpdateWaitSeconds
SELECT ~ FOR UPDATEでの待機時間 (秒単位) です。 |
protected FromClause |
fromClause
from句です。 |
protected java.lang.String |
hint
ヒントです。 |
protected java.lang.Object[] |
idProperties
IDプロパティの値の配列です。 |
protected java.util.List<PropertyMeta> |
idPropertyMetaList
IDプロパティのメタデータのリストです。 |
protected java.util.Set<java.lang.String> |
includesProperties
select句へ追加するプロパティ |
protected java.util.List<JoinMeta> |
joinMetaList
結合メタデータのリストです。 |
protected java.lang.String |
orderBy
ソート順です。 |
protected OrderByClause |
orderByClause
order by句です。 |
protected SelectClause |
selectClause
select句です。 |
protected int |
selectListIndex
selectリストのインデックスです。 |
protected java.util.Map<java.lang.String,java.lang.String> |
tableAliasMap
テーブル別名のマップです。 |
protected int |
tableIndex
テーブルのインデックスです。 |
protected java.util.List<ValueType> |
valueTypeList
値タイプのリストです。 |
protected java.lang.Object |
versionProperty
バージョンプロパティの値です。 |
protected PropertyMeta |
versionPropertyMeta
バージョンプロパティのメタデータです。 |
protected WhereClause |
whereClause
where句です。 |
protected java.util.List<java.lang.Object> |
whereParams
where句のパラメータです。 |
クラス org.seasar.extension.jdbc.query.AbstractSelect から継承されたフィールド |
---|
baseClass, count, disallowNoResult, fetchSize, limit, maxRows, offset, resultLob, resultTemporalType |
クラス org.seasar.extension.jdbc.query.AbstractQuery から継承されたフィールド |
---|
callerClass, callerMethodName, completed, executedSql, jdbcManager, logger, paramList, queryTimeout |
コンストラクタの概要 | |
---|---|
AutoSelectImpl(JdbcManagerImplementor jdbcManager,
java.lang.Class<T> baseClass)
AutoSelectImpl を作成します。 |
メソッドの概要 | |
---|---|
protected java.lang.String |
convertCriteria(java.lang.String str)
プロパティ名で記述されたクライテリアをカラム名に変換します。 |
protected java.lang.String |
convertCriteria(java.lang.String str,
boolean convertAlias)
プロパティ名で記述されたクライテリアをカラム名に変換します。 |
protected java.lang.String |
convertEntityNameToTableAlias(java.lang.String str)
文字列中のエンティティ名をテーブルの別名に変換します。 |
protected ResultSetHandler |
createIterateResultSetHandler(IterationCallback<T,?> callback)
反復する結果セットハンドラを作成します。 |
protected AbstractRelationshipEntityMapper |
createRelationshipEntityMapper(java.lang.Class<?> relationshipClass,
PropertyMapper[] propertyMappers,
int[] idIndices,
PropertyMeta propertyMeta,
PropertyMeta inversePropertyMeta)
関連エンティティマッパーを作成します。 |
protected ResultSetHandler |
createResultListResultSetHandler()
リストを返す結果セットハンドラを作成します。 |
protected ResultSetHandler |
createSingleResultResultSetHandler()
単独の値を返す結果セットハンドラを作成します。 |
protected java.lang.String |
createTableAlias()
テーブル別名を作成します。 |
AutoSelect<T> |
eager(java.lang.CharSequence... propertyNames)
EAGERフェッチするプロパティを追加します。 |
AutoSelect<T> |
excludes(java.lang.CharSequence... propertyNames)
指定のプロパティを検索結果から除外します。 |
AutoSelect<T> |
forUpdate()
FOR UPDATEを追加します。 |
AutoSelect<T> |
forUpdate(java.lang.CharSequence... propertyNames)
FOR UPDATEを追加します。 |
AutoSelect<T> |
forUpdateNowait()
FOR UPDATE NOWAITを追加します。 |
AutoSelect<T> |
forUpdateNowait(java.lang.CharSequence... propertyNames)
FOR UPDATE NOWAITを追加します。 |
AutoSelect<T> |
forUpdateWait(int seconds)
FOR UPDATE WAITを追加します。 |
AutoSelect<T> |
forUpdateWait(int seconds,
java.lang.CharSequence... propertyNames)
FOR UPDATE WAITを追加します。 |
protected AbstractEntityMapper |
getBaseEntityMapper(java.lang.String join,
java.lang.String baseJoin)
ベースのエンティティメタマッパーを返します。 |
protected EntityMeta |
getBaseEntityMeta(java.lang.String join,
java.lang.String base)
ベースのエンティティメタデータを返します。 |
protected EntityMapper |
getEntityMapper()
エンティティマッパーを返します。 |
protected AbstractEntityMapper |
getEntityMapper(java.lang.String join)
エンティティマッパーを返します。 |
protected EntityMeta |
getEntityMeta(java.lang.String join)
エンティティメタデータを返します。 |
protected EntityMeta |
getInverseEntityMeta(java.lang.Class<?> relationshipClass,
java.lang.String join)
関連の逆側のエンティティメタデータを返します。 |
protected PropertyMeta |
getInversePropertyMeta(EntityMeta inverseEntityMeta,
PropertyMeta relationshipPropertyMeta)
逆側のプロパティメタデータを返します。 |
protected JoinMeta |
getJoinMeta(int index)
結合メタデータを返します。 |
protected int |
getJoinMetaSize()
結合メタデータの数を返します。 |
protected java.lang.String |
getLockHint(java.lang.String baseName)
ロックヒントを返します。 |
protected PropertyMeta |
getPropertyMeta(EntityMeta baseEntityMeta,
java.lang.String fullPropertyName,
java.lang.String propertyName)
プロパティメタデータを返します。 |
protected java.lang.String |
getTableAlias(java.lang.String join)
テーブル別名を返します。 |
protected ValueType[] |
getValueTypes()
値タイプの配列を返します。 |
AutoSelect<T> |
hint(java.lang.String hint)
ヒントを設定します。 |
AutoSelect<T> |
id(java.lang.Object... idProperties)
where句の条件にIdプロパティ(主キー)を指定します。 |
AutoSelect<T> |
includes(java.lang.CharSequence... propertyNames)
指定のプロパティのみを検索結果に含めます。 |
AutoSelect<T> |
innerJoin(java.lang.CharSequence name)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
innerJoin(java.lang.CharSequence name,
boolean fetch)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
innerJoin(java.lang.CharSequence name,
boolean fetch,
java.lang.String condition,
java.lang.Object... params)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
innerJoin(java.lang.CharSequence name,
boolean fetch,
Where... conditions)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
innerJoin(java.lang.CharSequence name,
boolean fetch,
Where condition)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
innerJoin(java.lang.CharSequence name,
java.lang.String condition,
java.lang.Object... params)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
innerJoin(java.lang.CharSequence name,
Where... conditions)
内部結合するプロパティを指定します。 |
AutoSelect<T> |
innerJoin(java.lang.CharSequence name,
Where condition)
内部結合するプロパティを指定します。 |
protected boolean |
isLazy(PropertyMeta propertyMeta,
JoinMeta joinMeta)
プロパティのフェッチタイプがLAZYならtrueを返します。 |
protected boolean |
isTargetProperty(PropertyMeta propertyMeta,
JoinMeta joinMeta)
select句に追加するプロパティならtrueを返します。 |
AutoSelect<T> |
join(java.lang.CharSequence name,
JoinType joinType)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(java.lang.CharSequence name,
JoinType joinType,
boolean fetch)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(java.lang.CharSequence name,
JoinType joinType,
boolean fetch,
java.lang.String condition,
java.lang.Object... params)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(java.lang.CharSequence name,
JoinType joinType,
boolean fetch,
Where... conditions)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(java.lang.CharSequence name,
JoinType joinType,
boolean fetch,
Where condition)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(java.lang.CharSequence name,
JoinType joinType,
java.lang.String condition,
java.lang.Object... params)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(java.lang.CharSequence name,
JoinType joinType,
Where... conditions)
結合するプロパティを指定します。 |
AutoSelect<T> |
join(java.lang.CharSequence name,
JoinType joinType,
Where condition)
結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(java.lang.CharSequence name)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(java.lang.CharSequence name,
boolean fetch)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(java.lang.CharSequence name,
boolean fetch,
java.lang.String condition,
java.lang.Object... params)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(java.lang.CharSequence name,
boolean fetch,
Where... conditions)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(java.lang.CharSequence name,
boolean fetch,
Where condition)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(java.lang.CharSequence name,
java.lang.String condition,
java.lang.Object... params)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(java.lang.CharSequence name,
Where... conditions)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
leftOuterJoin(java.lang.CharSequence name,
Where condition)
左外部結合するプロパティを指定します。 |
AutoSelect<T> |
orderBy(OrderByItem... orderByItems)
ソート順を指定します。 |
AutoSelect<T> |
orderBy(java.lang.String orderBy)
ソート順を指定します。 |
protected void |
prepare(java.lang.String methodName)
クエリの準備をします。 |
protected void |
prepareCondition(WhereClause whereTerm,
java.lang.String name,
java.lang.Object value)
条件を準備します。 |
protected void |
prepareConditions()
where句の条件を準備します。 |
protected void |
prepareCriteria()
クライテリアの準備をします。 |
protected void |
prepareEntity(EntityMeta em,
JoinMeta joinMeta,
java.lang.String tableAlias,
java.util.List<PropertyMapper> propertyMapperList,
java.util.List<java.lang.Integer> idIndexList)
エンティティの準備をします。 |
protected EntityMeta |
prepareEntityMeta(java.lang.Class<?> entityClass,
java.lang.String join)
エンティティメタデータを準備します。 |
protected void |
prepareForUpdate()
FOR UPDATE句を準備します。 |
protected void |
prepareIdVersion()
IDプロパティ及びバージョンを準備します。 |
protected void |
prepareJoin(JoinMeta joinMeta)
結合の準備をします。 |
protected void |
prepareJoins()
結合の準備をします。 |
protected void |
prepareOrderBy()
order by句の準備をします。 |
protected void |
prepareParams()
パラメータを準備します。 |
protected void |
prepareParams(java.lang.String name,
java.lang.Object value)
パラメータを準備します。 |
protected void |
prepareSql()
SQLを準備します。 |
protected java.lang.String |
prepareTableAlias(java.lang.String join)
テーブル別名を準備します。 |
protected void |
prepareTarget()
対象エンティティの準備をします。 |
protected void |
prepareWhere()
where句のパラメータを準備します。 |
protected void |
setupForUpdateTargets(java.lang.String[] propertyNames)
SELECT ~ FOR UPDATEの対象となるプロパティを準備します |
protected java.lang.String[] |
splitBaseAndProperty(java.lang.String name)
関連名をベースとプロパティに分離します。 |
protected Pair<java.lang.String,java.lang.String> |
toAliasPair(java.lang.String baseName,
java.lang.String propertyName)
SELECT ~ FOR UPDATEの対象となるテーブルエイリアスとカラムエイリアスのペアを返します。 |
protected int[] |
toIdIndexArray(java.util.List<java.lang.Integer> idIndexList)
識別子のインデックスのリストをintの配列に変換します。 |
protected PropertyMapperImpl[] |
toPropertyMapperArray(java.util.List<PropertyMapper> propertyMapperList)
プロパティマッパーの配列に変換します。 |
protected java.lang.String |
toSql()
SQLに変換します。 |
AutoSelect<T> |
version(java.lang.Object versionProperty)
where句の条件にバージョンプロパティを指定します。 |
AutoSelect<T> |
where(java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
where句の条件を指定します。 |
AutoSelect<T> |
where(java.lang.String criteria,
java.lang.Object... params)
where句の条件を指定します。 |
AutoSelect<T> |
where(Where... wheres)
where句の条件を指定します。 |
AutoSelect<T> |
where(Where where)
where句の条件を指定します。 |
クラス org.seasar.extension.jdbc.query.AbstractSelect から継承されたメソッド |
---|
convertLimitSql, disallowNoResult, fetchSize, getBaseClass, getCount, getFetchSize, getLimit, getMaxRows, getOffset, getResultList, getResultListInternal, getSingleResult, getSingleResultInternal, iterate, iterateInternal, limit, lob, maxRows, offset, processCursorPreparedStatement, processPreparedStatement, processResultSet, setupPreparedStatement, temporal |
クラス org.seasar.extension.jdbc.query.AbstractQuery から継承されたメソッド |
---|
addParam, addParam, addParam, addParam, assertNotCompleted, callerClass, callerMethodName, completed, getCallerClass, getCallerMethodName, getExecutedSql, getJdbcManager, getParam, getParamClasses, getParamSize, getParamValues, getParamValueTypes, getQueryTimeout, getValueType, handleResultSet, logSql, logSql, prepareCallerClassAndMethodName, prepareInParams, queryTimeout, resetParams, toStringArray |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
インタフェース org.seasar.extension.jdbc.AutoSelect から継承されたメソッド |
---|
getCount |
インタフェース org.seasar.extension.jdbc.Select から継承されたメソッド |
---|
disallowNoResult, fetchSize, getResultList, getSingleResult, iterate, limit, lob, maxRows, offset, temporal |
インタフェース org.seasar.extension.jdbc.Query から継承されたメソッド |
---|
callerClass, callerMethodName, queryTimeout |
フィールドの詳細 |
---|
protected java.util.List<JoinMeta> joinMetaList
protected int tableIndex
protected java.util.Map<java.lang.String,java.lang.String> tableAliasMap
protected java.util.Map<java.lang.String,EntityMeta> entityMetaMap
protected java.lang.String entityName
protected final java.util.Set<java.lang.String> includesProperties
protected final java.util.Set<java.lang.String> excludesProperties
protected SelectClause selectClause
protected FromClause fromClause
protected WhereClause whereClause
protected OrderByClause orderByClause
protected java.lang.String orderBy
protected java.lang.String forUpdate
protected SelectForUpdateType forUpdateType
protected java.util.Map<java.lang.String,java.lang.String> forUpdateTargets
protected int forUpdateWaitSeconds
protected java.util.Set<java.lang.String> eagerProperties
protected java.lang.String hint
protected java.util.List<ValueType> valueTypeList
protected int selectListIndex
protected java.util.Map<java.lang.String,AbstractEntityMapper> entityMapperMap
protected java.util.List<java.lang.Object> whereParams
protected java.util.Map<java.lang.String,? extends java.lang.Object> conditions
protected java.lang.String criteria
protected java.lang.Object[] criteriaParams
protected java.lang.String[] criteriaPropertyNames
protected java.util.List<PropertyMeta> idPropertyMetaList
protected java.lang.Object[] idProperties
protected PropertyMeta versionPropertyMeta
protected java.lang.Object versionProperty
コンストラクタの詳細 |
---|
public AutoSelectImpl(JdbcManagerImplementor jdbcManager, java.lang.Class<T> baseClass)
AutoSelectImpl
を作成します。
jdbcManager
- 内部的なJDBCマネージャbaseClass
- ベースクラスメソッドの詳細 |
---|
public AutoSelect<T> includes(java.lang.CharSequence... propertyNames)
AutoSelect
の記述:
AutoSelect<T>
内の includes
propertyNames
- 検索結果に含めるプロパティ名の配列
public AutoSelect<T> excludes(java.lang.CharSequence... propertyNames)
AutoSelect
の記述:
AutoSelect<T>
内の excludes
propertyNames
- 検索結果から除外するプロパティ名の配列
public AutoSelect<T> innerJoin(java.lang.CharSequence name)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の innerJoin
name
- 内部結合する関連のプロパティ名
JoinMeta
,
#Join(CharSequence, JoinType)
public AutoSelect<T> innerJoin(java.lang.CharSequence name, java.lang.String condition, java.lang.Object... params)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の innerJoin
name
- 内部結合する関連のプロパティ名condition
- 付加的な結合条件params
- 付加的な結合条件のパラメータの配列
パラメータの配列の要素がDate
、Calendar
のいずれか場合、
Parameter
に定義されたメソッドによりパラメータの時制を指定できます。
パラメータの配列の要素がString
、byte[]
、
Serializable
のいずれかの場合、Parameter
に定義されたメソッドによりパラメータをラージオブジェクトとして扱えます。
JoinMeta
,
#Join(CharSequence, JoinType)
public AutoSelect<T> innerJoin(java.lang.CharSequence name, Where condition)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の innerJoin
name
- 内部結合する関連のプロパティ名condition
- 付加的な結合条件
JoinMeta
,
#Join(CharSequence, JoinType)
public AutoSelect<T> innerJoin(java.lang.CharSequence name, Where... conditions)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の innerJoin
name
- 内部結合する関連のプロパティ名conditions
- 付加的な結合条件の配列
JoinMeta
,
#Join(CharSequence, JoinType)
public AutoSelect<T> innerJoin(java.lang.CharSequence name, boolean fetch)
AutoSelect
の記述:
AutoSelect<T>
内の innerJoin
name
- 内部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> innerJoin(java.lang.CharSequence name, boolean fetch, java.lang.String condition, java.lang.Object... params)
AutoSelect
の記述:
AutoSelect<T>
内の innerJoin
name
- 内部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。condition
- 付加的な結合条件params
- 付加的な結合条件のパラメータの配列
パラメータの配列の要素がDate
、Calendar
のいずれか場合、
Parameter
に定義されたメソッドによりパラメータの時制を指定できます。
パラメータの配列の要素がString
、byte[]
、
Serializable
のいずれかの場合、Parameter
に定義されたメソッドによりパラメータをラージオブジェクトとして扱えます。
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> innerJoin(java.lang.CharSequence name, boolean fetch, Where condition)
AutoSelect
の記述:
AutoSelect<T>
内の innerJoin
name
- 内部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。condition
- 付加的な結合条件
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> innerJoin(java.lang.CharSequence name, boolean fetch, Where... conditions)
AutoSelect
の記述:
AutoSelect<T>
内の innerJoin
name
- 内部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。conditions
- 付加的な結合条件の配列
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> leftOuterJoin(java.lang.CharSequence name)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の leftOuterJoin
name
- 左外部結合する関連のプロパティ名
JoinMeta
,
#Join(CharSequence, JoinType)
public AutoSelect<T> leftOuterJoin(java.lang.CharSequence name, java.lang.String condition, java.lang.Object... params)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の leftOuterJoin
name
- 左外部結合する関連のプロパティ名condition
- 付加的な結合条件params
- 付加的な結合条件のパラメータの配列
パラメータの配列の要素がDate
、Calendar
のいずれか場合、
Parameter
に定義されたメソッドによりパラメータの時制を指定できます。
パラメータの配列の要素がString
、byte[]
、
Serializable
のいずれかの場合、Parameter
に定義されたメソッドによりパラメータをラージオブジェクトとして扱えます。
JoinMeta
,
#Join(CharSequence, JoinType)
public AutoSelect<T> leftOuterJoin(java.lang.CharSequence name, Where condition)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の leftOuterJoin
name
- 左外部結合する関連のプロパティ名condition
- 付加的な結合条件
JoinMeta
,
#Join(CharSequence, JoinType)
public AutoSelect<T> leftOuterJoin(java.lang.CharSequence name, Where... conditions)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の leftOuterJoin
name
- 左外部結合する関連のプロパティ名conditions
- 付加的な結合条件の配列
JoinMeta
,
#Join(CharSequence, JoinType)
public AutoSelect<T> leftOuterJoin(java.lang.CharSequence name, boolean fetch)
AutoSelect
の記述:
AutoSelect<T>
内の leftOuterJoin
name
- 左外部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> leftOuterJoin(java.lang.CharSequence name, boolean fetch, java.lang.String condition, java.lang.Object... params)
AutoSelect
の記述:
AutoSelect<T>
内の leftOuterJoin
name
- 左外部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。condition
- 付加的な結合条件params
- 付加的な結合条件のパラメータの配列
パラメータの配列の要素がDate
、Calendar
のいずれか場合、
Parameter
に定義されたメソッドによりパラメータの時制を指定できます。
パラメータの配列の要素がString
、byte[]
、
Serializable
のいずれかの場合、Parameter
に定義されたメソッドによりパラメータをラージオブジェクトとして扱えます。
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> leftOuterJoin(java.lang.CharSequence name, boolean fetch, Where condition)
AutoSelect
の記述:
AutoSelect<T>
内の leftOuterJoin
name
- 左外部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。condition
- 付加的な結合条件
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> leftOuterJoin(java.lang.CharSequence name, boolean fetch, Where... conditions)
AutoSelect
の記述:
AutoSelect<T>
内の leftOuterJoin
name
- 左外部結合する関連のプロパティ名fetch
- 関連するエンティティをフェッチするかどうか。conditions
- 付加的な結合条件の配列
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> join(java.lang.CharSequence name, JoinType joinType)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の join
name
- 結合するプロパティ名joinType
- 結合タイプ
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> join(java.lang.CharSequence name, JoinType joinType, java.lang.String condition, java.lang.Object... params)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の join
name
- 結合するプロパティ名joinType
- 結合タイプcondition
- 付加的な結合条件params
- 付加的な結合条件のパラメータの配列
パラメータの配列の要素がDate
、Calendar
のいずれか場合、
Parameter
に定義されたメソッドによりパラメータの時制を指定できます。
パラメータの配列の要素がString
、byte[]
、
Serializable
のいずれかの場合、Parameter
に定義されたメソッドによりパラメータをラージオブジェクトとして扱えます。
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> join(java.lang.CharSequence name, JoinType joinType, Where condition)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の join
name
- 結合するプロパティ名joinType
- 結合タイプcondition
- 付加的な結合条件
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> join(java.lang.CharSequence name, JoinType joinType, Where... conditions)
AutoSelect
の記述: 指定したエンティティはフェッチされます。
AutoSelect<T>
内の join
name
- 結合するプロパティ名joinType
- 結合タイプconditions
- 付加的な結合条件の配列
#Join(CharSequence, JoinType, boolean)
public AutoSelect<T> join(java.lang.CharSequence name, JoinType joinType, boolean fetch)
AutoSelect
の記述:
AutoSelect<T>
内の join
name
- 結合するプロパティ名。
ネストしている場合は、aaa.bbb
のように.で区切ります。
aaa.bbb
を指定する場合は、先にベースの結合(aaa
)を指定する必要があります。
joinType
- 結合タイプfetch
- 関連するエンティティをフェッチするかどうか。
public AutoSelect<T> join(java.lang.CharSequence name, JoinType joinType, boolean fetch, java.lang.String condition, java.lang.Object... params)
AutoSelect
の記述:
AutoSelect<T>
内の join
name
- 結合するプロパティ名。
ネストしている場合は、aaa.bbb
のように.で区切ります。
aaa.bbb
を指定する場合は、先にベースの結合(aaa
)を指定する必要があります。
joinType
- 結合タイプfetch
- 関連するエンティティをフェッチするかどうか。condition
- 付加的な結合条件params
- 付加的な結合条件のパラメータの配列
パラメータの配列の要素がDate
、Calendar
のいずれか場合、
Parameter
に定義されたメソッドによりパラメータの時制を指定できます。
パラメータの配列の要素がString
、byte[]
、
Serializable
のいずれかの場合、Parameter
に定義されたメソッドによりパラメータをラージオブジェクトとして扱えます。
public AutoSelect<T> join(java.lang.CharSequence name, JoinType joinType, boolean fetch, Where condition)
AutoSelect
の記述:
AutoSelect<T>
内の join
name
- 結合するプロパティ名。
ネストしている場合は、aaa.bbb
のように.で区切ります。
aaa.bbb
を指定する場合は、先にベースの結合(aaa
)を指定する必要があります。
joinType
- 結合タイプfetch
- 関連するエンティティをフェッチするかどうか。condition
- 付加的な結合条件
public AutoSelect<T> join(java.lang.CharSequence name, JoinType joinType, boolean fetch, Where... conditions)
AutoSelect
の記述:
AutoSelect<T>
内の join
name
- 結合するプロパティ名。
ネストしている場合は、aaa.bbb
のように.で区切ります。
aaa.bbb
を指定する場合は、先にベースの結合(aaa
)を指定する必要があります。
joinType
- 結合タイプfetch
- 関連するエンティティをフェッチするかどうか。conditions
- 付加的な結合条件の配列
protected int getJoinMetaSize()
protected JoinMeta getJoinMeta(int index)
index
- 位置
protected void prepare(java.lang.String methodName)
AbstractQuery
の記述:
AbstractQuery<AutoSelect<T>>
内の prepare
methodName
- メソッド名protected void prepareTarget()
protected void prepareEntity(EntityMeta em, JoinMeta joinMeta, java.lang.String tableAlias, java.util.List<PropertyMapper> propertyMapperList, java.util.List<java.lang.Integer> idIndexList)
em
- エンティティメタデータjoinMeta
- 結合メタデータtableAlias
- テーブル別名propertyMapperList
- プロパティマッパーのリストidIndexList
- 識別子のインデックスのリストprotected boolean isTargetProperty(PropertyMeta propertyMeta, JoinMeta joinMeta)
propertyMeta
- プロパティメタデータjoinMeta
- 結合メタデータ
protected boolean isLazy(PropertyMeta propertyMeta, JoinMeta joinMeta)
propertyMeta
- プロパティメタデータjoinMeta
- 結合メタデータ
protected java.lang.String getTableAlias(java.lang.String join)
join
- 結合名
protected java.lang.String createTableAlias()
protected java.lang.String prepareTableAlias(java.lang.String join)
join
- 結合名
protected EntityMeta getEntityMeta(java.lang.String join)
join
- 結合名
protected EntityMeta prepareEntityMeta(java.lang.Class<?> entityClass, java.lang.String join)
entityClass
- エンティティクラスjoin
- 結合名
protected ValueType[] getValueTypes()
protected PropertyMapperImpl[] toPropertyMapperArray(java.util.List<PropertyMapper> propertyMapperList)
propertyMapperList
- プロパティマッパーのリスト
protected int[] toIdIndexArray(java.util.List<java.lang.Integer> idIndexList)
idIndexList
-
protected AbstractEntityMapper getEntityMapper(java.lang.String join)
join
- 結合名
protected void prepareJoins()
prepareJoin(JoinMeta)
protected void prepareJoin(JoinMeta joinMeta)
joinMeta
- 結合メタデータprotected java.lang.String[] splitBaseAndProperty(java.lang.String name)
関連名をベースとプロパティに分離します。
aaa.bbb.ccc
ならベースがaaa.bbb
、プロパティがccc
になります。
name
- 関連名
protected EntityMeta getBaseEntityMeta(java.lang.String join, java.lang.String base) throws BaseJoinNotFoundRuntimeException
join
- 結合名base
- ベースの結合名
BaseJoinNotFoundRuntimeException
- ベースの結合が見つからない場合。protected AbstractEntityMapper getBaseEntityMapper(java.lang.String join, java.lang.String baseJoin) throws BaseJoinNotFoundRuntimeException
join
- 結合名baseJoin
- ベースの結合名
BaseJoinNotFoundRuntimeException
- ベースの結合が見つからない場合。protected PropertyMeta getPropertyMeta(EntityMeta baseEntityMeta, java.lang.String fullPropertyName, java.lang.String propertyName) throws java.lang.RuntimeException
baseEntityMeta
- ベースのエンティティメタデータfullPropertyName
- 全体のプロパティ名propertyName
- プロパティ名
java.lang.RuntimeException
- 実行時例外が発生した場合。protected EntityMeta getInverseEntityMeta(java.lang.Class<?> relationshipClass, java.lang.String join) throws java.lang.RuntimeException, JoinDuplicatedRuntimeException
relationshipClass
- 関連クラスjoin
- 結合名
java.lang.RuntimeException
- 実行時例外が発生した場合。
JoinDuplicatedRuntimeException
- 結合が重複している場合。protected PropertyMeta getInversePropertyMeta(EntityMeta inverseEntityMeta, PropertyMeta relationshipPropertyMeta)
inverseEntityMeta
- 逆側のエンティティメタデータrelationshipPropertyMeta
- 関連のプロパティメタデータ
protected AbstractRelationshipEntityMapper createRelationshipEntityMapper(java.lang.Class<?> relationshipClass, PropertyMapper[] propertyMappers, int[] idIndices, PropertyMeta propertyMeta, PropertyMeta inversePropertyMeta)
relationshipClass
- 関連クラスpropertyMappers
- プロパティマッパーの配列idIndices
- 識別子のインデックスの配列propertyMeta
- 関連のプロパティメタデータinversePropertyMeta
- 逆側の関連のプロパティメタデータ
protected java.lang.String toSql()
public AutoSelect<T> where(java.lang.String criteria, java.lang.Object... params)
AutoSelect
の記述:
AutoSelect<T>
内の where
public AutoSelect<T> where(Where where)
AutoSelect
の記述:
AutoSelect<T>
内の where
where
- where句のビルダー
public AutoSelect<T> where(Where... wheres)
AutoSelect
の記述:
AutoSelect<T>
内の where
wheres
- where句のビルダーの並び
public AutoSelect<T> where(java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
AutoSelect
の記述:
AutoSelect<T>
内の where
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だった場合、条件には追加されません。
public AutoSelect<T> id(java.lang.Object... idProperties)
AutoSelect
の記述:
AutoSelect<T>
内の id
idProperties
- 主キーの値の並び
public AutoSelect<T> version(java.lang.Object versionProperty)
AutoSelect
の記述:
AutoSelect<T>
内の version
versionProperty
- バージョン
protected void prepareWhere()
protected void prepareConditions()
protected void prepareCondition(WhereClause whereTerm, java.lang.String name, java.lang.Object value)
whereTerm
- WHERE句の項name
- プロパティ名value
- プロパティの値valueList
- 値のリストvalueClassList
- 値のクラスのリストprotected void prepareCriteria()
protected void prepareIdVersion()
protected void prepareParams()
protected void prepareParams(java.lang.String name, java.lang.Object value)
name
- パラメータ名value
- パラメータ値protected void prepareSql()
protected ResultSetHandler createResultListResultSetHandler()
AbstractSelect
の記述:
AbstractSelect<T,AutoSelect<T>>
内の createResultListResultSetHandler
protected ResultSetHandler createSingleResultResultSetHandler()
AbstractSelect
の記述:
AbstractSelect<T,AutoSelect<T>>
内の createSingleResultResultSetHandler
protected ResultSetHandler createIterateResultSetHandler(IterationCallback<T,?> callback)
AbstractSelect
の記述:
AbstractSelect<T,AutoSelect<T>>
内の createIterateResultSetHandler
callback
- 反復コールバック
protected EntityMapper getEntityMapper()
public AutoSelect<T> orderBy(java.lang.String orderBy)
AutoSelect
の記述:
AutoSelect<T>
内の orderBy
public AutoSelect<T> orderBy(OrderByItem... orderByItems)
AutoSelect
の記述:
AutoSelect<T>
内の orderBy
protected void prepareOrderBy()
protected java.lang.String convertCriteria(java.lang.String str)
str
- クライテリア
protected java.lang.String convertCriteria(java.lang.String str, boolean convertAlias)
str
- クライテリアconvertAlias
- カラム名をエイリアスに置換する場合はtrue
protected java.lang.String convertEntityNameToTableAlias(java.lang.String str)
str
- 入力文字列
public AutoSelect<T> forUpdate()
AutoSelect
の記述:
AutoSelect<T>
内の forUpdate
public AutoSelect<T> forUpdate(java.lang.CharSequence... propertyNames)
AutoSelect
の記述:
AutoSelect<T>
内の forUpdate
propertyNames
- ロック対象のプロパティ名の並び
public AutoSelect<T> forUpdateNowait()
AutoSelect
の記述:
AutoSelect<T>
内の forUpdateNowait
public AutoSelect<T> forUpdateNowait(java.lang.CharSequence... propertyNames)
AutoSelect
の記述:
AutoSelect<T>
内の forUpdateNowait
propertyNames
- ロック対象のプロパティ名の並び
public AutoSelect<T> forUpdateWait(int seconds)
AutoSelect
の記述:
AutoSelect<T>
内の forUpdateWait
seconds
- ロックを獲得できるまでの最大待機時間(秒単位)
public AutoSelect<T> forUpdateWait(int seconds, java.lang.CharSequence... propertyNames)
AutoSelect
の記述:
AutoSelect<T>
内の forUpdateWait
seconds
- ロックを獲得できるまでの最大待機時間(秒単位)propertyNames
- ロック対象のプロパティ名の並び
public AutoSelect<T> eager(java.lang.CharSequence... propertyNames)
AutoSelect
の記述:
AutoSelect<T>
内の eager
propertyNames
- EAGERフェッチするプロパティ名の並び
public AutoSelect<T> hint(java.lang.String hint)
AutoSelect
の記述:
AutoSelect<T>
内の hint
hint
- ヒント
protected void prepareForUpdate()
protected java.lang.String getLockHint(java.lang.String baseName)
baseName
- ベース名
protected void setupForUpdateTargets(java.lang.String[] propertyNames)
propertyNames
- SELECT ~ FOR UPDATEの対象となるプロパティ名の並びprotected Pair<java.lang.String,java.lang.String> toAliasPair(java.lang.String baseName, java.lang.String propertyName)
baseName
- ベース名propertyName
- プロパティ名
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |