org.seasar.extension.jdbc
インタフェース DbmsDialect

既知の実装クラスの一覧:
Db2390Dialect, Db2400Dialect, Db2Dialect, DerbyDialect, FirebirdDialect, H2Dialect, HsqlDialect, InterbaseDialect, MaxdbDialect, Mssql2005Dialect, MssqlDialect, MysqlDialect, OracleDialect, Postgre81Dialect, PostgreDialect, SqliteDialect, StandardDialect, SybaseDialect

public interface DbmsDialect

データベースごとの方言をあつかうインターフェースです。

作成者:
higa

メソッドの概要
 java.lang.String convertGetCountSql(java.lang.String sql)
          件数取得用SQLに変換します。
 java.lang.String convertLimitSql(java.lang.String sql, int offset, int limit)
          limit用SQLに変換します。
 java.lang.String getCountSqlSelectList(java.util.List<PropertyMeta> idPropertyMeta)
          件数取得用SQLのSELECTリストを返します。
 int getDefaultBatchSize()
          デフォルトのバッチサイズを返します。
 GenerationType getDefaultGenerationType()
          GeneratedValue.strategy()GenerationType.AUTOが指定された場合の、 デフォルトのGenerationTypeを返します。
 java.lang.String getForUpdateString(SelectForUpdateType type, int waitSeconds, Pair<java.lang.String,java.lang.String>... aliases)
          SELECT文に付加するFOR UPDATE NOWAIT相当のSQLを返します。
 java.lang.String getHintComment(java.lang.String hint)
          ヒントコメントを返します。
 java.lang.String getIdentitySelectString(java.lang.String tableName, java.lang.String columnName)
          識別子がGenerationType.IDENTITYで自動生成される場合に、 生成された主キーの値を取得するSQLを返します。
 java.lang.String getLockHintString(SelectForUpdateType type, int waitSeconds)
          SELECT文に付加するロックヒントを返します。
 java.lang.String getName()
          名前を返します。
 java.lang.String getSequenceNextValString(java.lang.String sequenceName, int allocationSize)
          識別子がGenerationType.SEQUENCEで自動生成される場合に、 シーケンスの値を取得するSQLを返します。
 ValueType getValueType(java.lang.Class<?> clazz, boolean lob, TemporalType temporalType)
          値タイプを返します。
 ValueType getValueType(PropertyMeta propertyMeta)
          値タイプを返します。
 boolean isInsertIdentityColumn()
          識別子がGenerationType.IDENTITYで生成される場合に、 識別子をINSERT文に含める場合は trueを返します。
 boolean isUniqueConstraintViolation(java.lang.Throwable t)
          一意制約違反を原因とする例外であればtrueを返します。
 boolean needsParameterForResultSet()
          プロシージャの呼び出しで結果セットに対してパラメータが必要かどうかを返します。
 void setupJoin(FromClause fromClause, WhereClause whereClause, JoinType joinType, java.lang.String tableName, java.lang.String tableAlias, java.lang.String fkTableAlias, java.lang.String pkTableAlias, java.util.List<JoinColumnMeta> joinColumnMetaList, java.lang.String lockHint, java.lang.String condition)
          結合用のSQLを組み立てます。
 boolean supportsBatchUpdateResults()
          バッチ更新の結果として更新カウントの配列を正しく返す場合はtrueを返します。
 boolean supportsCursor()
          カーソルをサポートしているかどうか返します。
 boolean supportsForUpdate(SelectForUpdateType type, boolean withTarget)
          SELECT文でFOR UPDATEをサポートしていればtrueを返します。
 boolean supportsGetGeneratedKeys()
          識別子がGenerationType.IDENTITYで自動生成される場合に、 生成された主キーの値を Statement.getGeneratedKeys()で取得できる場合はtrueを返します。
 boolean supportsIdentity()
          GenerationType.IDENTITYをサポートしている場合はtrueを返します。
 boolean supportsInnerJoinForUpdate()
          内部結合した場合にFOR UPDATEをサポートしていればtrueを返します。
 boolean supportsLimit()
          リミットをサポートしているかどうかを返します。
 boolean supportsLockHint()
          SELECT文で排他制御のためのロックヒントをサポートしていればtrueを返します。
 boolean supportsOffset()
          オフセットをサポートしているかどうかを返します。
 boolean supportsOffsetWithoutLimit()
          リミットなしのオフセットをサポートしているかどうかを返します。
 boolean supportsOuterJoinForUpdate()
          外部結合した場合にFOR UPDATEをサポートしていればtrueを返します。
 boolean supportsSequence()
          GenerationType.SEQUENCEをサポートしている場合はtrueを返します。
 

メソッドの詳細

getName

java.lang.String getName()
名前を返します。

戻り値:
名前

supportsLimit

boolean supportsLimit()
リミットをサポートしているかどうかを返します。

戻り値:
リミットをサポートしているかどうか

supportsOffset

boolean supportsOffset()
オフセットをサポートしているかどうかを返します。

戻り値:
オフセットをサポートしているかどうか

supportsOffsetWithoutLimit

boolean supportsOffsetWithoutLimit()
リミットなしのオフセットをサポートしているかどうかを返します。

戻り値:
リミットなしのオフセットをサポートしているかどうか

supportsCursor

boolean supportsCursor()
カーソルをサポートしているかどうか返します。

戻り値:
カーソルをサポートしているかどうか

needsParameterForResultSet

boolean needsParameterForResultSet()
プロシージャの呼び出しで結果セットに対してパラメータが必要かどうかを返します。

戻り値:
プロシージャの呼び出しで結果セットに対してパラメータが必要かどうか

convertLimitSql

java.lang.String convertLimitSql(java.lang.String sql,
                                 int offset,
                                 int limit)
limit用SQLに変換します。

パラメータ:
sql - SQL
offset - オフセット
limit - リミット
戻り値:
limit用SQL

convertGetCountSql

java.lang.String convertGetCountSql(java.lang.String sql)
件数取得用SQLに変換します。

パラメータ:
sql - SQL
戻り値:
件数取得用SQL

getCountSqlSelectList

java.lang.String getCountSqlSelectList(java.util.List<PropertyMeta> idPropertyMeta)
件数取得用SQLのSELECTリストを返します。

パラメータ:
idPropertyMeta - IDプロパティのメタデータ
戻り値:
件数取得用SQLのSELECTリスト

getValueType

ValueType getValueType(PropertyMeta propertyMeta)
値タイプを返します。

パラメータ:
propertyMeta - プロパティのメタデータ
戻り値:
値タイプ

getValueType

ValueType getValueType(java.lang.Class<?> clazz,
                       boolean lob,
                       TemporalType temporalType)
値タイプを返します。

パラメータ:
clazz - クラス
lob - LOBかどうか
temporalType - 時制の種別
戻り値:
値タイプ

setupJoin

void setupJoin(FromClause fromClause,
               WhereClause whereClause,
               JoinType joinType,
               java.lang.String tableName,
               java.lang.String tableAlias,
               java.lang.String fkTableAlias,
               java.lang.String pkTableAlias,
               java.util.List<JoinColumnMeta> joinColumnMetaList,
               java.lang.String lockHint,
               java.lang.String condition)
結合用のSQLを組み立てます。

パラメータ:
fromClause - from句
whereClause - where句
joinType - 結合タイプ
tableName - テーブル名
tableAlias - テーブル別名
fkTableAlias - 外部キーを持つテーブルの別名
pkTableAlias - 主キーを持つテーブルの別名
joinColumnMetaList - 結合カラムメタデータのリスト
lockHint - ロックヒント
condition - 付加的な結合条件

getDefaultGenerationType

GenerationType getDefaultGenerationType()
GeneratedValue.strategy()GenerationType.AUTOが指定された場合の、 デフォルトのGenerationTypeを返します。

戻り値:
デフォルトのGenerationType

supportsIdentity

boolean supportsIdentity()
GenerationType.IDENTITYをサポートしている場合はtrueを返します。

戻り値:
GenerationType.IDENTITYをサポートしている場合はtrue

isInsertIdentityColumn

boolean isInsertIdentityColumn()
識別子がGenerationType.IDENTITYで生成される場合に、 識別子をINSERT文に含める場合は trueを返します。

戻り値:
識別子をINSERT文に含める場合はtrue

supportsGetGeneratedKeys

boolean supportsGetGeneratedKeys()
識別子がGenerationType.IDENTITYで自動生成される場合に、 生成された主キーの値を Statement.getGeneratedKeys()で取得できる場合はtrueを返します。

戻り値:
生成された識別子の値をStatement.getGeneratedKeys()で取得できる場合は true

getIdentitySelectString

java.lang.String getIdentitySelectString(java.lang.String tableName,
                                         java.lang.String columnName)
識別子がGenerationType.IDENTITYで自動生成される場合に、 生成された主キーの値を取得するSQLを返します。

パラメータ:
tableName - テーブル名
columnName - 識別子のカラム名
戻り値:
生成された識別子の値を取得するSQL

supportsSequence

boolean supportsSequence()
GenerationType.SEQUENCEをサポートしている場合はtrueを返します。

戻り値:
GenerationType.SEQUENCEをサポートしている場合はtrue

getSequenceNextValString

java.lang.String getSequenceNextValString(java.lang.String sequenceName,
                                          int allocationSize)
識別子がGenerationType.SEQUENCEで自動生成される場合に、 シーケンスの値を取得するSQLを返します。

パラメータ:
sequenceName - シーケンス名
allocationSize - アロケーションサイズ
戻り値:
シーケンスの値を取得するSQL

getDefaultBatchSize

int getDefaultBatchSize()
デフォルトのバッチサイズを返します。

戻り値:
デフォルトのバッチサイズ

supportsBatchUpdateResults

boolean supportsBatchUpdateResults()
バッチ更新の結果として更新カウントの配列を正しく返す場合はtrueを返します。

戻り値:
バッチ更新の結果として更新カウントの配列を正しく返す場合はtrue

isUniqueConstraintViolation

boolean isUniqueConstraintViolation(java.lang.Throwable t)
一意制約違反を原因とする例外であればtrueを返します。

パラメータ:
t - 例外
戻り値:
一意制約違反を原因とする例外であればtrue

supportsForUpdate

boolean supportsForUpdate(SelectForUpdateType type,
                          boolean withTarget)
SELECT文でFOR UPDATEをサポートしていればtrueを返します。

パラメータ:
type - SELECT ~ FOR UPDATEのタイプ
withTarget - ロック対象を指定する場合はtrue
戻り値:
SELECT文でFOR UPDATEをサポートしていればtrue

getForUpdateString

java.lang.String getForUpdateString(SelectForUpdateType type,
                                    int waitSeconds,
                                    Pair<java.lang.String,java.lang.String>... aliases)
SELECT文に付加するFOR UPDATE NOWAIT相当のSQLを返します。

パラメータ:
type - SELECT ~ FOR UPDATEのタイプ
waitSeconds - typeSelectForUpdateType.WAIT が指定された場合の待機時間(秒単位)
aliases - ロック対象となるカラムのエイリアス。対象が指定されなかった場合は空の配列
戻り値:
SELECT文に付加するFOR UPDATE句のSQL

supportsLockHint

boolean supportsLockHint()
SELECT文で排他制御のためのロックヒントをサポートしていればtrueを返します。

戻り値:
SELECT文で排他制御のためのロックヒントをサポートしていればtrue

getLockHintString

java.lang.String getLockHintString(SelectForUpdateType type,
                                   int waitSeconds)
SELECT文に付加するロックヒントを返します。

パラメータ:
type - SELECT ~ FOR UPDATEのタイプ
waitSeconds - typeSelectForUpdateType.WAIT が指定された場合の待機時間(秒単位)
戻り値:
SELECT文に付加するロックヒント

supportsInnerJoinForUpdate

boolean supportsInnerJoinForUpdate()
内部結合した場合にFOR UPDATEをサポートしていればtrueを返します。

戻り値:
内部結合した場合にFOR UPDATEをサポートしていればtrue

supportsOuterJoinForUpdate

boolean supportsOuterJoinForUpdate()
外部結合した場合にFOR UPDATEをサポートしていればtrueを返します。

戻り値:
外部結合した場合にFOR UPDATEをサポートしていればtrue

getHintComment

java.lang.String getHintComment(java.lang.String hint)
ヒントコメントを返します。

パラメータ:
hint - ヒント
戻り値:
ヒントコメント


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.