public class HibernateCursorItemReader<T> extends AbstractItemCountingItemStreamItemReader<T> implements org.springframework.beans.factory.InitializingBean
ItemStreamReader
。AbstractItemCountingItemStreamItemReader.read()
メソッドが呼び出されると、初期化された結果セットを反復処理するときに HQL クエリを実行し、現在の行に対応するオブジェクトを返します。クエリは setQueryString(String)
を使用して直接設定できます。名前付きクエリは setQueryName(String)
で使用できます。クエリプロバイダ戦略は setQueryProvider(HibernateQueryProvider)
を介して提供できます。 リーダーは、関連付けられたオブジェクトにカスケードする必要のない単純なマッピングに十分な StatelessSession
、またはより高度なマッピングまたはキャッシュが必要な場合に標準の休止状態の Session
を使用するように構成できます。ステートフルセッションが使用されると、フラッシュされずに update(ExecutionContext)
メソッドでクリアされます(データの変更は予期されません)。
コンストラクターと説明 |
---|
HibernateCursorItemReader() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() |
protected void | doClose() カーソルを閉じ、セッションを休止状態にします。 |
protected void | doOpen() hibernate セッションを開き、クエリの前方専用カーソルを作成します。 |
protected T | doRead() 入力から次の項目を読み取ります。 |
protected void | jumpToItem(int itemIndex) リクエストされたアイテムに結果セットを進めます。 |
void | setFetchSize(int fetchSize) Hibernate が内部で使用するフェッチサイズ。ラウンドトリップごとにデータベースからフェッチされるデータの量を制限します。 |
void | setParameterValues(java.util.Map<java.lang.String,java.lang.Object> parameterValues) クエリに適用するパラメーター値(name:value のマップ)。 |
void | setQueryName(java.lang.String queryName) 外部化されたクエリのクエリ名。 |
void | setQueryProvider(HibernateQueryProvider<T> queryProvider) クエリプロバイダー。 |
void | setQueryString(java.lang.String queryString) HQL のクエリ文字列。 |
void | setSessionFactory(org.hibernate.SessionFactory sessionFactory) Hibernate SessionFactory を使用してセッションを作成します。 |
void | setUseStatelessSession(boolean useStatelessSession) 初期化されていない状態でのみ設定できます。 |
void | update(ExecutionContext executionContext) コンテキストを更新し、ステートフルの場合はセッションをクリアします。 |
close, getCurrentItemCount, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setSaveState
getExecutionContextKey, setExecutionContextName, setName
public void afterPropertiesSet() throws java.lang.Exception
org.springframework.beans.factory.InitializingBean
の afterPropertiesSet
java.lang.Exception
public void setParameterValues(java.util.Map<java.lang.String,java.lang.Object> parameterValues)
parameterValues
- 設定するパラメーター値 public void setQueryName(java.lang.String queryName)
query string
または {query provider
のいずれかを設定する必要があります。queryName
- 休止状態の名前付きクエリの名前 public void setFetchSize(int fetchSize)
fetchSize
- Hibernate に渡すフェッチサイズ public void setQueryProvider(HibernateQueryProvider<T> queryProvider)
query string
または {query name
のいずれかを設定する必要があります。queryProvider
- Hibernate クエリプロバイダー public void setQueryString(java.lang.String queryString)
query provider
または {query name
のいずれかを設定する必要があります。queryString
- HQL クエリ文字列 public void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
sessionFactory
- 設定する SessionFactory
public void setUseStatelessSession(boolean useStatelessSession)
useStatelessSession
- true
は StatelessSession
を使用します。false
は標準の休止状態 Session
を使用します @Nullable protected T doRead() throws java.lang.Exception
AbstractItemCountingItemStreamItemReader
AbstractItemCountingItemStreamItemReader<T>
の doRead
null
java.lang.Exception
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします protected void doOpen() throws java.lang.Exception
AbstractItemCountingItemStreamItemReader<T>
の doOpen
java.lang.Exception
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします public void update(ExecutionContext executionContext) throws ItemStreamException
ItemStream
の update
AbstractItemCountingItemStreamItemReader<T>
の update
executionContext
- 現在の ExecutionContext
ItemStreamException
- 問題がある場合 ItemStream.update(ExecutionContext)
protected void jumpToItem(int itemIndex) throws java.lang.Exception
AbstractItemCountingItemStreamItemReader<T>
の jumpToItem
itemIndex
- 最初に読む項目 java.lang.Exception
- 問題がある場合 AbstractItemCountingItemStreamItemReader.jumpToItem(int)
protected void doClose() throws java.lang.Exception
AbstractItemCountingItemStreamItemReader<T>
の doClose
java.lang.Exception
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします