org.seasar.extension.jdbc.query
クラス AbstractAutoUpdate<T,S extends Update<S>>

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.query.AbstractQuery<S>
      上位を拡張 org.seasar.extension.jdbc.query.AbstractAutoUpdate<T,S>
型パラメータ:
T - エンティティの型です。
S - Updateのサブタイプです。
すべての実装されたインタフェース:
Query<S>, SqlLogger, Update<S>
直系の既知のサブクラス:
AutoDeleteImpl, AutoInsertImpl, AutoUpdateImpl

public abstract class AbstractAutoUpdate<T,S extends Update<S>>
extends AbstractQuery<S>
implements Update<S>

更新の抽象クラスです。

作成者:
koichik

フィールドの概要
protected  T entity
          エンティティ
protected  EntityMeta entityMeta
          エンティティメタデータ
protected  boolean suppresOptimisticLockException
          バージョンチェックを行った場合に、 更新行数が0行でもOptimisticLockExceptionをスローしないならtrue
 
クラス org.seasar.extension.jdbc.query.AbstractQuery から継承されたフィールド
callerClass, callerMethodName, completed, executedSql, jdbcManager, logger, paramList, queryTimeout
 
コンストラクタの概要
AbstractAutoUpdate(JdbcManagerImplementor jdbcManager, T entity)
           
 
メソッドの概要
protected  java.sql.PreparedStatement createPreparedStatement(JdbcContext jdbcContext)
          準備されたステートメントを作成します。
 int execute()
          更新します。
protected  int executeInternal()
          データベースの更新を実行します。
 T getEntity()
          エンティティを返します。
 EntityMeta getEntityMeta()
          エンティティのメタデータを返します。
protected  java.sql.PreparedStatement getPreparedStatement(JdbcContext jdbcContext)
          準備されたステートメントを返します。
protected  void incrementVersion()
          バージョンの値を増加させます。
protected abstract  boolean isOptimisticLock()
          楽観的同時実行制御を行っている場合はtrueを返します。
protected  void postExecute(java.sql.PreparedStatement ps)
          準備されたステートメントの後処理を行います。
protected  void prepareSql()
          SQLを準備します。
protected abstract  java.lang.String toSql()
          SQLに変換します。
protected  void validateRows(int rows)
          行を更新または削除できたかどうかチェックします。
 
クラス org.seasar.extension.jdbc.query.AbstractQuery から継承されたメソッド
addParam, addParam, addParam, addParam, assertNotCompleted, callerClass, callerMethodName, completed, getCallerClass, getCallerMethodName, getExecutedSql, getJdbcManager, getParam, getParamClasses, getParamSize, getParamValues, getParamValueTypes, getQueryTimeout, getValueType, handleResultSet, logSql, logSql, prepare, prepareCallerClassAndMethodName, prepareInParams, queryTimeout, resetParams, toStringArray
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.seasar.extension.jdbc.Query から継承されたメソッド
callerClass, callerMethodName, queryTimeout
 

フィールドの詳細

entity

protected final T entity
エンティティ


entityMeta

protected final EntityMeta entityMeta
エンティティメタデータ


suppresOptimisticLockException

protected boolean suppresOptimisticLockException
バージョンチェックを行った場合に、 更新行数が0行でもOptimisticLockExceptionをスローしないならtrue

コンストラクタの詳細

AbstractAutoUpdate

public AbstractAutoUpdate(JdbcManagerImplementor jdbcManager,
                          T entity)
パラメータ:
jdbcManager - 内部的なJDBCマネージャ
entity - エンティティ
メソッドの詳細

getEntity

public T getEntity()
エンティティを返します。

戻り値:
エンティティ

getEntityMeta

public EntityMeta getEntityMeta()
エンティティのメタデータを返します。

戻り値:
エンティティのメタデータ

execute

public int execute()
インタフェース Update の記述:
更新します。

定義:
インタフェース Update<S extends Update<S>> 内の execute
戻り値:
更新した行数。

prepareSql

protected void prepareSql()
SQLを準備します。


toSql

protected abstract java.lang.String toSql()
SQLに変換します。

戻り値:
SQL

executeInternal

protected int executeInternal()
データベースの更新を実行します。

戻り値:
更新した行数

getPreparedStatement

protected java.sql.PreparedStatement getPreparedStatement(JdbcContext jdbcContext)
準備されたステートメントを返します。

パラメータ:
jdbcContext - JDBCコンテキスト
戻り値:
準備されたステートメント

createPreparedStatement

protected java.sql.PreparedStatement createPreparedStatement(JdbcContext jdbcContext)
準備されたステートメントを作成します。

パラメータ:
jdbcContext - JDBCコンテキスト
戻り値:
準備されたステートメント

postExecute

protected void postExecute(java.sql.PreparedStatement ps)
準備されたステートメントの後処理を行います。

パラメータ:
ps - 準備されたステートメント

isOptimisticLock

protected abstract boolean isOptimisticLock()
楽観的同時実行制御を行っている場合はtrueを返します。

戻り値:
楽観的同時実行制御を行っている場合はtrue

validateRows

protected void validateRows(int rows)
行を更新または削除できたかどうかチェックします。

パラメータ:
rows - 更新行数
例外:
OptimisticLockException - 行を更新または削除できなかった場合

incrementVersion

protected void incrementVersion()
バージョンの値を増加させます。



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