@Published(tag="architect") public class SqlServerDialect extends DefaultDialect
| Modifier and Type | Class and Description |
|---|---|
protected static class |
SqlServerDialect.SqlServerResultSetConvertor
SQLServer用のResultSet変換クラス。
このクラスでは、
varbinary(max)で定義されたカラムの場合、
ヒープを圧迫しないようにResultSet.getBinaryStream(int)の結果を返す。 |
| Constructor and Description |
|---|
SqlServerDialect() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
convertCountSql(java.lang.String sql)
SQL文をレコード数取得用のSQL文に変換する。
|
java.lang.String |
getPingSql()
ping用のSQL文を返す。
データベースへの死活チェックを行うための、ping用SQL文を生成する。
|
ResultSetConvertor |
getResultSetConvertor()
ResultSetから値を取得するための変換クラスを返却する。 |
boolean |
isDuplicateException(java.sql.SQLException sqlException)
SQL例外が一意制約違反による例外か否か。
|
boolean |
isTransactionTimeoutError(java.sql.SQLException sqlException)
SQL例外がトランザクションタイムアウトと判断すべき例外か否か。
|
boolean |
supportsIdentity()
IDENTITY(オートインクリメントカラム)が使用できるか否か。
|
buildSequenceGeneratorSql, convertCountSql, convertPaginationSql, supportsIdentityWithBatchInsert, supportsOffset, supportsSequencepublic boolean supportsIdentity()
trueを返す。supportsIdentity in interface DialectsupportsIdentity in class DefaultDialectfalseを返す。public boolean isDuplicateException(java.sql.SQLException sqlException)
isDuplicateException in interface DialectisDuplicateException in class DefaultDialectsqlException - SQL例外falseを返す。public boolean isTransactionTimeoutError(java.sql.SQLException sqlException)
isTransactionTimeoutError in interface DialectisTransactionTimeoutError in class DefaultDialectsqlException - SQL例外falseを返す。public ResultSetConvertor getResultSetConvertor()
ResultSetから値を取得するための変換クラスを返却する。
全てのカラムをResultSet.getObject(int)で取得するコンバータを返す。
varbinary(max)で定義されたカラムの場合は、ResultSet.getBinaryStream(int)の結果を返す、
ResultSetの変換クラスを返却する。getResultSetConvertor in interface DialectgetResultSetConvertor in class DefaultDialectpublic java.lang.String convertCountSql(java.lang.String sql)
SELECT COUNT(*) COUNT_ FROM ('引数のSQL') SUB_
SQLServerは、インラインビュー内にORDER BYを記述することが出来ない。
このため、レコード数取得のSQLに変換する際にSQLの一番最後に存在しているORDER BYを削除後に
件数取得用のSQLに変換する。convertCountSql in interface DialectconvertCountSql in class DefaultDialectsql - SQL文public java.lang.String getPingSql()
DefaultDialectgetPingSql in interface DialectgetPingSql in class DefaultDialect