jp.go.nict.langrid.dao
インタフェース DaoContext

既知の実装クラスの一覧:
HibernateDaoContext, JsonicDaoContext

public interface DaoContext

Daoの環境に対する操作を定義する。

バージョン:
$Revision: 11027 $
作成者:
$Author: Takao Nakaguchi $

メソッドの概要
<T> void
addEntityListener(Class<T> clazz, EntityListener<T> listener)
          エンティティリスナを登録する。
 void addTransactionListener(TransactionListener listener)
          セッションリスナを登録する。
 void beginTransaction()
          トランザクションを開始する。
 void commitTransaction()
          トランザクションをコミットする。
 int getTransactionNestCount()
          トランザクションの入れ子の個数を返す。
<T> T
loadEntity(Class<T> clazz, Serializable id)
          クラスと永続化IDがわかっている際に、エンティティをロードする。
 void mergeEntity(Object entity)
          エンティティをマージする。
 void refreshEntity(Object entity)
          エンティティをリフレッシュする。
<T> void
removeEntityListener(Class<T> clazz, EntityListener<T> listener)
          エンティティリスナを削除する。
 void removeTransactionListener(TransactionListener listener)
          セッションリスナを削除する。
 void rollbackTransaction()
          トランザクションをロールバックする。
 void updateEntity(Object entity)
          エンティティをアップデートする。
 

メソッドの詳細

addEntityListener

<T> void addEntityListener(Class<T> clazz,
                           EntityListener<T> listener)
エンティティリスナを登録する。

型パラメータ:
T - リスナが扱うエンティティの型
パラメータ:
clazz - エンティティのクラス
listener - エンティティリスナ

removeEntityListener

<T> void removeEntityListener(Class<T> clazz,
                              EntityListener<T> listener)
エンティティリスナを削除する。

型パラメータ:
T - リスナが扱うエンティティの型
パラメータ:
clazz - エンティティのクラス
listener - エンティティリスナ

addTransactionListener

void addTransactionListener(TransactionListener listener)
セッションリスナを登録する。

パラメータ:
listener - リスナ

removeTransactionListener

void removeTransactionListener(TransactionListener listener)
セッションリスナを削除する。

パラメータ:
listener - リスナ

beginTransaction

void beginTransaction()
                      throws ConnectException,
                             DaoException
トランザクションを開始する。 トランザクションは全DAOにまたがる。

例外:
ConnectException - データベースに接続できない
DaoException - 処理に失敗した

commitTransaction

void commitTransaction()
                       throws DaoException
トランザクションをコミットする。 トランザクションは全DAOにまたがる。

例外:
DaoException - 処理に失敗した

rollbackTransaction

void rollbackTransaction()
                         throws DaoException
トランザクションをロールバックする。 トランザクションは全DAOにまたがる。

例外:
DaoException - 処理に失敗した

getTransactionNestCount

int getTransactionNestCount()
トランザクションの入れ子の個数を返す。 beginTransactionが呼ばれるたびに1つ増加、 commitTransaction又はrollbackTransactionが呼ばれるたびに1つ減少する。

戻り値:
トランザクションの深さ

loadEntity

<T> T loadEntity(Class<T> clazz,
                 Serializable id)
             throws DaoException
クラスと永続化IDがわかっている際に、エンティティをロードする。

型パラメータ:
T - エンティティの型
パラメータ:
clazz - エンティティのクラス
id - 永続化ID
戻り値:
オブジェクト
例外:
DaoException - 処理に失敗した

mergeEntity

void mergeEntity(Object entity)
                 throws DaoException
エンティティをマージする。 エンティティが既に存在していれば情報の更新が行われ、存在していなければ新たに作成される。 但しBLOBは対象外(Hibernateの仕様)

パラメータ:
entity - マージするエンティティ
例外:
DaoException - 処理に失敗した

updateEntity

void updateEntity(Object entity)
                  throws DaoException
エンティティをアップデートする。 エンティティが既に存在していれば情報の更新が行われ、存在していなければエラー。

パラメータ:
entity - アップデートするエンティティ
例外:
DaoException - 処理に失敗した

refreshEntity

void refreshEntity(Object entity)
                   throws DaoException
エンティティをリフレッシュする。

パラメータ:
entity - リフレッシュするエンティティ
例外:
DaoException - 処理に失敗した