インタフェース Dialect
-
- 既知の実装クラスのリスト:
DialectBase
,H2Dialect
,HsqlDialect
,OracleDialect
,OracleLegacyDialect
,PostgresDialect
,SqliteDialect
,StandardDialect
public interface Dialect
SQLの方言を定義します。- バージョン:
- 0.3
- 作成者:
- T.TSUCHIE
-
-
メソッドの概要
すべてのメソッド インスタンス・メソッド abstractメソッド 修飾子とタイプ メソッド 説明 String
convertGetCountSql(String sql)
件数取得用のSQLに変換します。String
convertLimitSql(String sql, int offset, int limit)
LIMIT句用SQLに変換します。String
getCountSql()
件数取得用のSQLのSELECT句を取得します。GeneratedValue.GenerationType
getDefaultGenerationType()
GeneratedValue.GenerationType.AUTO
が指定された場合の、 デフォルトのGeneratedValue.GenerationType
を返します。String
getForUpdateSql(SelectForUpdateType type, int waitSeconds)
SELECT文に付加するFOR UPDATE NOWAIT
相当のSQLを返します。String
getHintComment(String hint)
ヒントコメントを返します。String
getName()
方言の名称を取得します。Map<Class<?>,OperationHandler<? extends Operator>>
getOperationHandlerMap()
メタモデルの条件式を評価する処理のマップを返します。org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer
getSequenceIncrementer(DataSource dataSource, String sequenceName)
シーケンスをインクリメントする処理を取得します。ValueType<?>
getValueType(ValueType<?> valueType)
対応するクラスタイプに対する値タイプを返します。boolean
needsParameterForResultSet()
プロシージャの呼び出しでResultSet
に対してパラメータが必要かどうかを判定します。boolean
supportsGenerationType(GeneratedValue.GenerationType generationType)
サポートする主キーの生成戦略を判定します。boolean
supportsSelectForUpdate(SelectForUpdateType type)
SELECT文でFOR UPDATE
をサポートしていればtrue
を返します。
-
-
-
メソッドの詳細
-
getName
String getName()
方言の名称を取得します。この値は、
SqlTemplateEngine.setSuffixName(String)
にも使用されます。- 戻り値:
- 方言の名称。
-
getDefaultGenerationType
GeneratedValue.GenerationType getDefaultGenerationType()
GeneratedValue.GenerationType.AUTO
が指定された場合の、 デフォルトのGeneratedValue.GenerationType
を返します。- 戻り値:
GeneratedValue.GenerationType
を返します。
-
supportsGenerationType
boolean supportsGenerationType(GeneratedValue.GenerationType generationType)
サポートする主キーの生成戦略を判定します。- パラメータ:
generationType
- 主キーの生成戦略。- 戻り値:
- trueのときサポートします。
-
getSequenceIncrementer
org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer getSequenceIncrementer(DataSource dataSource, String sequenceName)
シーケンスをインクリメントする処理を取得します。- パラメータ:
dataSource
- データソースsequenceName
- シーケンス名- 戻り値:
- DBに対応したインクリメントする処理の実装を返します。シーケンスをサポートしない場合はnullを返します。
-
getValueType
ValueType<?> getValueType(ValueType<?> valueType)
対応するクラスタイプに対する値タイプを返します。 Oracleなどのようにbooleanが存在しない場合は対応するValueType
に切り替えたりします。- パラメータ:
valueType
- 値タイプ- 戻り値:
- 値タイプ
-
getCountSql
String getCountSql()
件数取得用のSQLのSELECT句を取得します。- 戻り値:
- SELECT句
-
convertGetCountSql
String convertGetCountSql(String sql)
件数取得用のSQLに変換します。- パラメータ:
sql
- SQL- 戻り値:
- 件数取得用SQL
- 例外:
IllegalArgumentException
- 引数sqlが空の場合にスローされます。
-
getHintComment
String getHintComment(String hint)
ヒントコメントを返します。ヒント句をサポートしていないDBの場合は空文字を返します。
- パラメータ:
hint
- ヒント- 戻り値:
- ヒントコメント
-
convertLimitSql
String convertLimitSql(String sql, int offset, int limit)
LIMIT句用SQLに変換します。- パラメータ:
sql
- SQLoffset
- オフセット。省略する場合は -1を指定します。limit
- リミット。省略する場合は -1 を指定します。- 戻り値:
- LIMIT句用SQL。
- 例外:
IllegalArgumentException
- 引数offset と limit の値の両方が0より小さい場合にスローされます。
-
supportsSelectForUpdate
boolean supportsSelectForUpdate(SelectForUpdateType type)
SELECT文でFOR UPDATE
をサポートしていればtrue
を返します。- パラメータ:
type
- SELECT ~ FOR UPDATEのタイプ- 戻り値:
- SELECT文で
FOR UPDATE
をサポートしていればtrue
-
getForUpdateSql
String getForUpdateSql(SelectForUpdateType type, int waitSeconds)
SELECT文に付加するFOR UPDATE NOWAIT
相当のSQLを返します。- パラメータ:
type
- SELECT ~ FOR UPDATEのタイプwaitSeconds
-type
にSelectForUpdateType.WAIT
が指定された場合の待機時間(秒単位)- 戻り値:
- SELECT文に付加する
FOR UPDATE
句のSQL
-
needsParameterForResultSet
boolean needsParameterForResultSet()
プロシージャの呼び出しでResultSet
に対してパラメータが必要かどうかを判定します。- 戻り値:
- trueのとき、
ResultSet
に対してパラメータが必要です。
-
getOperationHandlerMap
Map<Class<?>,OperationHandler<? extends Operator>> getOperationHandlerMap()
メタモデルの条件式を評価する処理のマップを返します。デフォルトの実装から変更するものみ設定します。
- 戻り値:
- メタモデルの条件式を評価する処理のマップ
- 導入されたバージョン:
- 0.3
-
-