org.seasar.extension.jdbc.id
クラス IdentityIdGenerator

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.id.AbstractIdGenerator
      上位を拡張 org.seasar.extension.jdbc.id.IdentityIdGenerator
すべての実装されたインタフェース:
IdGenerator

public class IdentityIdGenerator
extends AbstractIdGenerator

GenerationType.IDENTITY方式で識別子の値を自動生成するIDジェネレータです。

作成者:
koichik

フィールドの概要
 
クラス org.seasar.extension.jdbc.id.AbstractIdGenerator から継承されたフィールド
entityMeta, propertyMeta
 
コンストラクタの概要
IdentityIdGenerator(EntityMeta entityMeta, PropertyMeta propertyMeta)
          インスタンスを構築します。
 
メソッドの概要
protected  long getGeneratedId(JdbcManagerImplementor jdbcManager, SqlLogger sqlLogger)
          DBMS固有のSQLを使用して自動生成された識別子の値を取得して返します。
protected  long getGeneratedId(Statement statement)
          Statement.getGeneratedKeys()を使用して自動生成された識別子の値を取得して返します。
 boolean isInsertInto(JdbcManagerImplementor jdbcManager)
          自動生成される識別子をINSERT文に含める場合はtrueを返します。
 void postInsert(JdbcManagerImplementor jdbcManager, Object entity, Statement statement, SqlLogger sqlLogger)
          INSERTの実行後処理を行います。
 Object preInsert(JdbcManagerImplementor jdbcManager, Object entity, SqlLogger sqlLogger)
          INSERTの実行前処理を行います。
 boolean supportBatch(JdbcManagerImplementor jdbcManager)
          このIDジェネレータがバッチ更新に対応している場合はtrueを返します。
 boolean useGetGeneratedKeys(JdbcManagerImplementor jdbcManager)
          生成された識別子の値をStatement.getGeneratedKeys()で取得する場合はtrueを返します。
 
クラス org.seasar.extension.jdbc.id.AbstractIdGenerator から継承されたメソッド
getGeneratedId, setId
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

IdentityIdGenerator

public IdentityIdGenerator(EntityMeta entityMeta,
                           PropertyMeta propertyMeta)
インスタンスを構築します。

パラメータ:
entityMeta - エンティティのメタデータ
propertyMeta - 識別子を表すプロパティのメタデータ
メソッドの詳細

supportBatch

public boolean supportBatch(JdbcManagerImplementor jdbcManager)
インタフェース IdGenerator の記述:
このIDジェネレータがバッチ更新に対応している場合はtrueを返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
戻り値:
このIDジェネレータがバッチ更新に対応している場合はtrue

useGetGeneratedKeys

public boolean useGetGeneratedKeys(JdbcManagerImplementor jdbcManager)
インタフェース IdGenerator の記述:
生成された識別子の値をStatement.getGeneratedKeys()で取得する場合はtrueを返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
戻り値:
生成された識別子の値をStatement.getGeneratedKeys()で取得する場合はtrue

isInsertInto

public boolean isInsertInto(JdbcManagerImplementor jdbcManager)
インタフェース IdGenerator の記述:
自動生成される識別子をINSERT文に含める場合はtrueを返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
戻り値:
自動生成される識別子をINSERT文に含める場合はtrue

preInsert

public Object preInsert(JdbcManagerImplementor jdbcManager,
                        Object entity,
                        SqlLogger sqlLogger)
インタフェース IdGenerator の記述:
INSERTの実行前処理を行います。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
entity - INSERT対象のエンティティ
sqlLogger - SQLのロガー
戻り値:
INSERT文に渡すバインド変数の値

postInsert

public void postInsert(JdbcManagerImplementor jdbcManager,
                       Object entity,
                       Statement statement,
                       SqlLogger sqlLogger)
インタフェース IdGenerator の記述:
INSERTの実行後処理を行います。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
entity - INSERT対象のエンティティ
statement - INSERT文を実行したStatement
sqlLogger - SQLのロガー

getGeneratedId

protected long getGeneratedId(Statement statement)
Statement.getGeneratedKeys()を使用して自動生成された識別子の値を取得して返します。

パラメータ:
statement - INSERT文を実行したStatement
戻り値:
自動生成された識別子の値

getGeneratedId

protected long getGeneratedId(JdbcManagerImplementor jdbcManager,
                              SqlLogger sqlLogger)
DBMS固有のSQLを使用して自動生成された識別子の値を取得して返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
sqlLogger - SQLロガー
戻り値:
自動生成された識別子の値


Copyright ? 2004-2008 The Seasar Foundation. All Rights Reserved.