org.seasar.extension.jdbc.dialect
クラス StandardDialect

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.dialect.StandardDialect
すべての実装されたインタフェース:
DbmsDialect
直系の既知のサブクラス:
Db2Dialect, DerbyDialect, FirebirdDialect, H2Dialect, HsqlDialect, InterbaseDialect, MaxdbDialect, MssqlDialect, MysqlDialect, OracleDialect, PostgreDialect, SybaseDialect

public class StandardDialect
extends Object
implements DbmsDialect

標準的な方言をあつかうクラスです

作成者:
higa

コンストラクタの概要
StandardDialect()
           
 
メソッドの概要
 String convertLimitSql(String sql, int offset, int limit)
          limit用SQLに変換します。
protected  String convertLimitSqlByRowNumber(String sql, int offset, int limit)
          行番号を使ったSQLに変換します。
protected  String convertOrderBy(String orderBy)
          order by句のテーブルのエイリアスを一時的なテーブル名に変換します。
 int getDefaultBatchSize()
          デフォルトのバッチサイズを返します。
 GenerationType getDefaultGenerationType()
          GeneratedValue.strategy()GenerationType.AUTOが指定された場合の、 デフォルトのGenerationTypeを返します。
 String getIdentitySelectString(String tableName, String columnName)
          識別子がGenerationType.IDENTITYで自動生成される場合に、 生成された主キーの値を取得するSQLを返します。
 String getName()
          名前を返します。
protected  String getRowNumberFunctionName()
          行番号ファンクション名を返します。
 String getSequenceNextValString(String sequenceName)
          識別子がGenerationType.SEQUENCEで自動生成される場合に、 シーケンスの値を取得するSQLを返します。
 ValueType getValueType(Class<?> clazz)
          値タイプを返します。
 boolean isInsertIdentityColumn()
          識別子がGenerationType.IDENTITYで生成される場合に、 識別子をINSERT文に含める場合はtrueを返します。
 boolean needsParameterForResultSet()
          プロシージャの呼び出しで結果セットに対してパラメータが必要かどうかを返します。
 void setupJoin(FromClause fromClause, WhereClause whereClause, JoinType joinType, String tableName, String tableAlias, String fkTableAlias, String pkTableAlias, List<JoinColumnMeta> joinColumnMetaList)
          結合用のSQLを組み立てます。
 boolean supportGetGeneratedKeys()
          識別子がGenerationType.IDENTITYで自動生成される場合に、 生成された主キーの値をStatement.getGeneratedKeys()で取得できる場合はtrueを返します。
 boolean supportsCursor()
          カーソルをサポートしているかどうか返します。
 boolean supportsIdentity()
          GenerationType.IDENTITYをサポートしている場合はtrueを返します。
 boolean supportsLimit()
          リミットをサポートしているかどうかを返します。
 boolean supportsOffset()
          オフセットをサポートしているかどうかを返します。
 boolean supportsOffsetWithoutLimit()
          リミットなしのオフセットをサポートしているかどうかを返します。
 boolean supportsSequence()
          GenerationType.SEQUENCEをサポートしている場合はtrueを返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

StandardDialect

public StandardDialect()
メソッドの詳細

getName

public String getName()
インタフェース DbmsDialect の記述:
名前を返します。

定義:
インタフェース DbmsDialect 内の getName
戻り値:
名前

supportsLimit

public boolean supportsLimit()
インタフェース DbmsDialect の記述:
リミットをサポートしているかどうかを返します。

定義:
インタフェース DbmsDialect 内の supportsLimit
戻り値:
リミットをサポートしているかどうか

supportsOffset

public boolean supportsOffset()
インタフェース DbmsDialect の記述:
オフセットをサポートしているかどうかを返します。

定義:
インタフェース DbmsDialect 内の supportsOffset
戻り値:
オフセットをサポートしているかどうか

supportsOffsetWithoutLimit

public boolean supportsOffsetWithoutLimit()
インタフェース DbmsDialect の記述:
リミットなしのオフセットをサポートしているかどうかを返します。

定義:
インタフェース DbmsDialect 内の supportsOffsetWithoutLimit
戻り値:
リミットなしのオフセットをサポートしているかどうか

supportsCursor

public boolean supportsCursor()
インタフェース DbmsDialect の記述:
カーソルをサポートしているかどうか返します。

定義:
インタフェース DbmsDialect 内の supportsCursor
戻り値:
カーソルをサポートしているかどうか

needsParameterForResultSet

public boolean needsParameterForResultSet()
インタフェース DbmsDialect の記述:
プロシージャの呼び出しで結果セットに対してパラメータが必要かどうかを返します。

定義:
インタフェース DbmsDialect 内の needsParameterForResultSet
戻り値:
プロシージャの呼び出しで結果セットに対してパラメータが必要かどうか

convertLimitSql

public String convertLimitSql(String sql,
                              int offset,
                              int limit)
インタフェース DbmsDialect の記述:
limit用SQLに変換します。

定義:
インタフェース DbmsDialect 内の convertLimitSql
パラメータ:
sql - SQL
offset - オフセット
limit - リミット
戻り値:
limit用SQL

getValueType

public ValueType getValueType(Class<?> clazz)
インタフェース DbmsDialect の記述:
値タイプを返します。

定義:
インタフェース DbmsDialect 内の getValueType
パラメータ:
clazz - クラス
戻り値:
値タイプ

setupJoin

public void setupJoin(FromClause fromClause,
                      WhereClause whereClause,
                      JoinType joinType,
                      String tableName,
                      String tableAlias,
                      String fkTableAlias,
                      String pkTableAlias,
                      List<JoinColumnMeta> joinColumnMetaList)
インタフェース DbmsDialect の記述:
結合用のSQLを組み立てます。

定義:
インタフェース DbmsDialect 内の setupJoin
パラメータ:
fromClause - from句
whereClause - where句
joinType - 結合タイプ
tableName - テーブル名
tableAlias - テーブル別名
fkTableAlias - 外部キーを持つテーブルの別名
pkTableAlias - 主キーを持つテーブルの別名
joinColumnMetaList - 結合カラムメタデータのリスト

getDefaultGenerationType

public GenerationType getDefaultGenerationType()
インタフェース DbmsDialect の記述:
GeneratedValue.strategy()GenerationType.AUTOが指定された場合の、 デフォルトのGenerationTypeを返します。

定義:
インタフェース DbmsDialect 内の getDefaultGenerationType
戻り値:
デフォルトのGenerationType

supportsIdentity

public boolean supportsIdentity()
インタフェース DbmsDialect の記述:
GenerationType.IDENTITYをサポートしている場合はtrueを返します。

定義:
インタフェース DbmsDialect 内の supportsIdentity
戻り値:
GenerationType.IDENTITYをサポートしている場合はtrue

isInsertIdentityColumn

public boolean isInsertIdentityColumn()
インタフェース DbmsDialect の記述:
識別子がGenerationType.IDENTITYで生成される場合に、 識別子をINSERT文に含める場合はtrueを返します。

定義:
インタフェース DbmsDialect 内の isInsertIdentityColumn
戻り値:
識別子をINSERT文に含める場合はtrue

supportGetGeneratedKeys

public boolean supportGetGeneratedKeys()
インタフェース DbmsDialect の記述:
識別子がGenerationType.IDENTITYで自動生成される場合に、 生成された主キーの値をStatement.getGeneratedKeys()で取得できる場合はtrueを返します。

定義:
インタフェース DbmsDialect 内の supportGetGeneratedKeys
戻り値:
生成された識別子の値をStatement.getGeneratedKeys()で取得できる場合はtrue

getIdentitySelectString

public String getIdentitySelectString(String tableName,
                                      String columnName)
インタフェース DbmsDialect の記述:
識別子がGenerationType.IDENTITYで自動生成される場合に、 生成された主キーの値を取得するSQLを返します。

定義:
インタフェース DbmsDialect 内の getIdentitySelectString
パラメータ:
tableName - テーブル名
columnName - 識別子のカラム名
戻り値:
生成された識別子の値を取得するSQL

supportsSequence

public boolean supportsSequence()
インタフェース DbmsDialect の記述:
GenerationType.SEQUENCEをサポートしている場合はtrueを返します。

定義:
インタフェース DbmsDialect 内の supportsSequence
戻り値:
GenerationType.SEQUENCEをサポートしている場合はtrue

getSequenceNextValString

public String getSequenceNextValString(String sequenceName)
インタフェース DbmsDialect の記述:
識別子がGenerationType.SEQUENCEで自動生成される場合に、 シーケンスの値を取得するSQLを返します。

定義:
インタフェース DbmsDialect 内の getSequenceNextValString
パラメータ:
sequenceName - シーケンス名
戻り値:
シーケンスの値を取得するSQL

getDefaultBatchSize

public int getDefaultBatchSize()
インタフェース DbmsDialect の記述:
デフォルトのバッチサイズを返します。

定義:
インタフェース DbmsDialect 内の getDefaultBatchSize
戻り値:
デフォルトのバッチサイズ

getRowNumberFunctionName

protected String getRowNumberFunctionName()
行番号ファンクション名を返します。

戻り値:
行番号ファンクション名

convertLimitSqlByRowNumber

protected String convertLimitSqlByRowNumber(String sql,
                                            int offset,
                                            int limit)
                                     throws OrderByNotFoundRuntimeException
行番号を使ったSQLに変換します。

パラメータ:
sql - SQL
offset - オフセット
limit - リミット
戻り値:
offset、limitつきのSQL
例外:
OrderByNotFoundRuntimeException - order byが見つからない場合。

convertOrderBy

protected String convertOrderBy(String orderBy)
order by句のテーブルのエイリアスを一時的なテーブル名に変換します。

パラメータ:
orderBy - order by句
戻り値:
変換後のorder by句


Copyright ? 2004-2007 The Seasar Foundation. All Rights Reserved.