|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface DbmsDialect
データベースごとの方言をあつかうインターフェースです。
メソッドの概要 | |
---|---|
String |
convertLimitSql(String sql,
int offset,
int limit)
limit用 SQL に変換します。 |
int |
getDefaultBatchSize()
デフォルトのバッチサイズを返します。 |
GenerationType |
getDefaultGenerationType()
GeneratedValue.strategy() にGenerationType.AUTO が指定された場合の、
デフォルトのGenerationType を返します。 |
String |
getForUpdateString(SelectForUpdateType type,
int waitSeconds,
Pair<String,String>... aliases)
SELECT文に付加する FOR UPDATE NOWAIT 相当のSQLを返します。 |
String |
getHintComment(String hint)
ヒントコメントを返します。 |
String |
getIdentitySelectString(String tableName,
String columnName)
識別子が GenerationType.IDENTITY で自動生成される場合に、
生成された主キーの値を取得するSQLを返します。 |
String |
getLockHintString(SelectForUpdateType type,
int waitSeconds)
SELECT文に付加するロックヒントを返します。 |
String |
getName()
名前を返します。 |
String |
getSequenceNextValString(String sequenceName)
識別子が GenerationType.SEQUENCE で自動生成される場合に、 シーケンスの値を取得するSQLを返します。 |
ValueType |
getValueType(Class<?> clazz,
boolean lob,
TemporalType temporalType)
値タイプを返します。 |
ValueType |
getValueType(PropertyMeta propertyMeta)
値タイプを返します。 |
boolean |
isInsertIdentityColumn()
識別子が GenerationType.IDENTITY で生成される場合に、 識別子をINSERT文に含める場合はtrue を返します。 |
boolean |
isUniqueConstraintViolation(Throwable t)
一意制約違反を原因とする例外であれば true を返します。 |
boolean |
needsParameterForResultSet()
プロシージャの呼び出しで結果セットに対してパラメータが必要かどうかを返します。 |
void |
setupJoin(FromClause fromClause,
WhereClause whereClause,
JoinType joinType,
String tableName,
String tableAlias,
String fkTableAlias,
String pkTableAlias,
List<JoinColumnMeta> joinColumnMetaList,
String lockHint)
結合用のSQLを組み立てます。 |
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 |
supportsLimit()
リミットをサポートしているかどうかを返します。 |
boolean |
supportsLockHint()
SELECT文で排他制御のためのロックヒントをサポートしていれば true を返します。 |
boolean |
supportsOffset()
オフセットをサポートしているかどうかを返します。 |
boolean |
supportsOffsetWithoutLimit()
リミットなしのオフセットをサポートしているかどうかを返します。 |
boolean |
supportsOuterJoinForUpdate()
外部結合した場合に FOR UPDATE をサポートしていればtrue を返します。 |
boolean |
supportsSequence()
GenerationType.SEQUENCE をサポートしている場合はtrue を返します。 |
メソッドの詳細 |
---|
String getName()
boolean supportsLimit()
boolean supportsOffset()
boolean supportsOffsetWithoutLimit()
boolean supportsCursor()
boolean needsParameterForResultSet()
String convertLimitSql(String sql, int offset, int limit)
SQL
に変換します。
sql
- SQLoffset
- オフセットlimit
- リミット
SQL
ValueType getValueType(PropertyMeta propertyMeta)
propertyMeta
- プロパティのメタデータ
ValueType getValueType(Class<?> clazz, boolean lob, TemporalType temporalType)
clazz
- クラスlob
- LOB
かどうかtemporalType
- 時制の種別
void setupJoin(FromClause fromClause, WhereClause whereClause, JoinType joinType, String tableName, String tableAlias, String fkTableAlias, String pkTableAlias, List<JoinColumnMeta> joinColumnMetaList, String lockHint)
fromClause
- from句whereClause
- where句joinType
- 結合タイプtableName
- テーブル名tableAlias
- テーブル別名fkTableAlias
- 外部キーを持つテーブルの別名pkTableAlias
- 主キーを持つテーブルの別名joinColumnMetaList
- 結合カラムメタデータのリストlockHint
- ロックヒントGenerationType getDefaultGenerationType()
GeneratedValue.strategy()
にGenerationType.AUTO
が指定された場合の、
デフォルトのGenerationType
を返します。
GenerationType
boolean supportsIdentity()
GenerationType.IDENTITY
をサポートしている場合はtrue
を返します。
GenerationType.IDENTITY
をサポートしている場合はtrue
boolean isInsertIdentityColumn()
GenerationType.IDENTITY
で生成される場合に、 識別子をINSERT文に含める場合はtrue
を返します。
true
boolean supportsGetGeneratedKeys()
GenerationType.IDENTITY
で自動生成される場合に、 生成された主キーの値をStatement.getGeneratedKeys()
で取得できる場合はtrue
を返します。
Statement.getGeneratedKeys()
で取得できる場合はtrue
String getIdentitySelectString(String tableName, String columnName)
GenerationType.IDENTITY
で自動生成される場合に、
生成された主キーの値を取得するSQLを返します。
tableName
- テーブル名columnName
- 識別子のカラム名
boolean supportsSequence()
GenerationType.SEQUENCE
をサポートしている場合はtrue
を返します。
GenerationType.SEQUENCE
をサポートしている場合はtrue
String getSequenceNextValString(String sequenceName)
GenerationType.SEQUENCE
で自動生成される場合に、 シーケンスの値を取得するSQLを返します。
sequenceName
- シーケンス名
int getDefaultBatchSize()
boolean isUniqueConstraintViolation(Throwable t)
true
を返します。
t
- 例外
true
boolean supportsForUpdate(SelectForUpdateType type, boolean withTarget)
FOR UPDATE
をサポートしていればtrue
を返します。
type
- SELECT ~ FOR UPDATEのタイプwithTarget
- ロック対象を指定する場合はtrue
FOR UPDATE
をサポートしていればtrue
String getForUpdateString(SelectForUpdateType type, int waitSeconds, Pair<String,String>... aliases)
FOR UPDATE NOWAIT
相当のSQLを返します。
type
- SELECT ~ FOR UPDATEのタイプwaitSeconds
- type
にSelectForUpdateType.WAIT
が指定された場合の待機時間(秒単位)aliases
- ロック対象となるカラムのエイリアス。対象が指定されなかった場合は空の配列
FOR UPDATE
句のSQLboolean supportsLockHint()
true
を返します。
true
String getLockHintString(SelectForUpdateType type, int waitSeconds)
type
- SELECT ~ FOR UPDATEのタイプwaitSeconds
- type
にSelectForUpdateType.WAIT
が指定された場合の待機時間(秒単位)
boolean supportsOuterJoinForUpdate()
FOR UPDATE
をサポートしていればtrue
を返します。
FOR UPDATE
をサポートしていればtrue
String getHintComment(String hint)
hint
- ヒント
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |