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

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.dialect.StandardDialect
      上位を拡張 org.seasar.extension.jdbc.dialect.OracleDialect
すべての実装されたインタフェース:
DbmsDialect

public class OracleDialect
extends StandardDialect

Oracle用の方言をあつかうクラスです。

作成者:
higa

フィールドの概要
static ValueType ORACLE_DATE_CALENDAR_TYPE
          Calendar型をOracle固有のDATE型として扱うValueType
static ValueType ORACLE_DATE_TYPE
          Date型をOracle固有のDATE型として扱うValueType
protected static int uniqueConstraintViolationCode
          一意制約違反を表す例外コード
protected  boolean useOracleDate
          Oracle固有のDATE型を使用する場合はtrue
 
クラス org.seasar.extension.jdbc.dialect.StandardDialect から継承されたフィールド
entityExistsExceptionStateCode
 
コンストラクタの概要
OracleDialect()
           
 
メソッドの概要
 java.lang.String convertLimitSql(java.lang.String sql, int offset, int limit)
          limit用SQLに変換します。
 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 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)
          値タイプを返します。
protected  ValueType getValueTypeInternal(java.lang.Class<?> clazz)
          値タイプを返します。
 boolean isUniqueConstraintViolation(java.lang.Throwable t)
          一意制約違反を原因とする例外であればtrueを返します。
 boolean isUseOracleDate()
          Oracle固有のDATE型を使用する場合はtrueを返します。
 boolean needsParameterForResultSet()
          プロシージャの呼び出しで結果セットに対してパラメータが必要かどうかを返します。
 void setSupportsBooleanToInt(boolean supportsBooleanToInt)
          booleanからintへの変換をサポートしているかどうかを設定します。
 void setSupportsWaveDashToFullwidthTilde(boolean supportsWaveDashToFullwidthTilde)
          WAVE DASH(U+301C)からFULLWIDTH TILDE(U+FF5E)への変換をサポートしているかどうかを設定します。
 void setUseOracleDate(boolean useOracleDate)
          Oracle固有のDATE型を使用する場合はtrueを設定します。
 boolean supportsBatchUpdateResults()
          バッチ更新の結果として更新カウントの配列を正しく返す場合はtrueを返します。
 boolean supportsBooleanToInt()
           booleanからintへの変換をサポートしているかどうかを返します。
 boolean supportsForUpdate(SelectForUpdateType type, boolean withTarget)
          SELECT文でFOR UPDATEをサポートしていればtrueを返します。
 boolean supportsLimit()
          リミットをサポートしているかどうかを返します。
 boolean supportsSequence()
          GenerationType.SEQUENCEをサポートしている場合はtrueを返します。
 boolean supportsWaveDashToFullwidthTilde()
           WAVE DASH(U+301C)からFULLWIDTH TILDE(U+FF5E)への変換をサポートしているかどうかを返します。
 
クラス org.seasar.extension.jdbc.dialect.StandardDialect から継承されたメソッド
convertGetCountSql, convertLimitSqlByRowNumber, convertOrderBy, getCauseSQLException, getCountSqlSelectList, getDefaultBatchSize, getErrorCode, getIdentitySelectString, getLockHintString, getRowNumberFunctionName, getSQLState, isInsertIdentityColumn, setupJoin, supportsCursor, supportsGetGeneratedKeys, supportsIdentity, supportsInnerJoinForUpdate, supportsLockHint, supportsOffset, supportsOffsetWithoutLimit, supportsOuterJoinForUpdate
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

ORACLE_DATE_TYPE

public static final ValueType ORACLE_DATE_TYPE
Date型をOracle固有のDATE型として扱うValueType


ORACLE_DATE_CALENDAR_TYPE

public static final ValueType ORACLE_DATE_CALENDAR_TYPE
Calendar型をOracle固有のDATE型として扱うValueType


uniqueConstraintViolationCode

protected static final int uniqueConstraintViolationCode
一意制約違反を表す例外コード

関連項目:
定数フィールド値

useOracleDate

protected boolean useOracleDate
Oracle固有のDATE型を使用する場合はtrue

コンストラクタの詳細

OracleDialect

public OracleDialect()
メソッドの詳細

getName

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

定義:
インタフェース DbmsDialect 内の getName
オーバーライド:
クラス StandardDialect 内の getName
戻り値:
名前

supportsLimit

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

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

supportsBooleanToInt

public boolean supportsBooleanToInt()

booleanからintへの変換をサポートしているかどうかを返します。

オラクルのようなbooleanをサポートしていないデータベースでは必要になります。

戻り値:
booleanからintへの変換をサポートしているかどうか

supportsWaveDashToFullwidthTilde

public boolean supportsWaveDashToFullwidthTilde()

WAVE DASH(U+301C)からFULLWIDTH TILDE(U+FF5E)への変換をサポートしているかどうかを返します。

オラクルのようなFULLWIDTH TILDEの変換にバグがあるデータベースでは必要になります。

戻り値:
WAVE DASH(U+301C)からFULLWIDTH TILDE(U+FF5E)への変換をサポートしているかどうか

needsParameterForResultSet

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

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

convertLimitSql

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

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

getValueType

public ValueType getValueType(PropertyMeta propertyMeta)
インタフェース DbmsDialect の記述:
値タイプを返します。

定義:
インタフェース DbmsDialect 内の getValueType
オーバーライド:
クラス StandardDialect 内の getValueType
パラメータ:
propertyMeta - プロパティのメタデータ
戻り値:
値タイプ

getValueType

public ValueType getValueType(java.lang.Class<?> clazz,
                              boolean lob,
                              TemporalType temporalType)
インタフェース DbmsDialect の記述:
値タイプを返します。

定義:
インタフェース DbmsDialect 内の getValueType
オーバーライド:
クラス StandardDialect 内の getValueType
パラメータ:
clazz - クラス
lob - LOBかどうか
temporalType - 時制の種別
戻り値:
値タイプ

getValueTypeInternal

protected ValueType getValueTypeInternal(java.lang.Class<?> clazz)
クラス StandardDialect の記述:
値タイプを返します。

オーバーライド:
クラス StandardDialect 内の getValueTypeInternal
パラメータ:
clazz - クラス
戻り値:
値タイプ

setSupportsBooleanToInt

public void setSupportsBooleanToInt(boolean supportsBooleanToInt)
booleanからintへの変換をサポートしているかどうかを設定します。

パラメータ:
supportsBooleanToInt - booleanからintへの変換をサポートしているかどうか

setSupportsWaveDashToFullwidthTilde

public void setSupportsWaveDashToFullwidthTilde(boolean supportsWaveDashToFullwidthTilde)
WAVE DASH(U+301C)からFULLWIDTH TILDE(U+FF5E)への変換をサポートしているかどうかを設定します。

パラメータ:
supportsWaveDashToFullwidthTilde - WAVE DASH(U+301C)からFULLWIDTH TILDE(U+FF5E)への変換をサポートしているかどうか

isUseOracleDate

public boolean isUseOracleDate()
Oracle固有のDATE型を使用する場合はtrueを返します。

戻り値:
Oracle固有のDATE型を使用する場合はtrue

setUseOracleDate

public void setUseOracleDate(boolean useOracleDate)
Oracle固有のDATE型を使用する場合はtrueを設定します。

パラメータ:
useOracleDate - Oracle固有のDATE型を使用する場合はtrue

getDefaultGenerationType

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

定義:
インタフェース DbmsDialect 内の getDefaultGenerationType
オーバーライド:
クラス StandardDialect 内の getDefaultGenerationType
戻り値:
デフォルトのGenerationType

supportsSequence

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

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

getSequenceNextValString

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

定義:
インタフェース DbmsDialect 内の getSequenceNextValString
オーバーライド:
クラス StandardDialect 内の getSequenceNextValString
パラメータ:
sequenceName - シーケンス名
allocationSize - アロケーションサイズ
戻り値:
シーケンスの値を取得するSQL

supportsBatchUpdateResults

public boolean supportsBatchUpdateResults()
インタフェース DbmsDialect の記述:
バッチ更新の結果として更新カウントの配列を正しく返す場合はtrueを返します。

定義:
インタフェース DbmsDialect 内の supportsBatchUpdateResults
オーバーライド:
クラス StandardDialect 内の supportsBatchUpdateResults
戻り値:
バッチ更新の結果として更新カウントの配列を正しく返す場合はtrue

supportsForUpdate

public boolean supportsForUpdate(SelectForUpdateType type,
                                 boolean withTarget)
インタフェース DbmsDialect の記述:
SELECT文でFOR UPDATEをサポートしていればtrueを返します。

定義:
インタフェース DbmsDialect 内の supportsForUpdate
オーバーライド:
クラス StandardDialect 内の supportsForUpdate
パラメータ:
type - SELECT ~ FOR UPDATEのタイプ
withTarget - ロック対象を指定する場合はtrue
戻り値:
SELECT文でFOR UPDATEをサポートしていればtrue

getForUpdateString

public java.lang.String getForUpdateString(SelectForUpdateType type,
                                           int waitSeconds,
                                           Pair<java.lang.String,java.lang.String>... aliases)
インタフェース DbmsDialect の記述:
SELECT文に付加するFOR UPDATE NOWAIT相当のSQLを返します。

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

getHintComment

public java.lang.String getHintComment(java.lang.String hint)
インタフェース DbmsDialect の記述:
ヒントコメントを返します。

定義:
インタフェース DbmsDialect 内の getHintComment
オーバーライド:
クラス StandardDialect 内の getHintComment
パラメータ:
hint - ヒント
戻り値:
ヒントコメント

isUniqueConstraintViolation

public boolean isUniqueConstraintViolation(java.lang.Throwable t)
インタフェース DbmsDialect の記述:
一意制約違反を原因とする例外であればtrueを返します。

定義:
インタフェース DbmsDialect 内の isUniqueConstraintViolation
オーバーライド:
クラス StandardDialect 内の isUniqueConstraintViolation
パラメータ:
t - 例外
戻り値:
一意制約違反を原因とする例外であればtrue


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