クラス JpaItemWriter<T>
java.lang.ObjectSE
org.springframework.batch.item.database.JpaItemWriter<T>
- 実装されたすべてのインターフェース:
ItemWriter<T>
,org.springframework.beans.factory.InitializingBean
public class JpaItemWriter<T>
extends ObjectSE
implements ItemWriter<T>, org.springframework.beans.factory.InitializingBean
JPA EntityManagerFactory を使用して永続コンテキストの一部ではないエンティティをマージする
ItemWriter
。write(Chunk)
はトランザクション内で呼び出す必要があります。
リーダーは、Spring 管理トランザクションに参加できる EntityManagerFactory
で構成されている必要があります。
ライターはプロパティが設定された後 (通常のシングルトン動作) スレッドセーフになるため、複数の同時トランザクションでの書き込みに使用できます。
- 作成者:
- Thomas Risberg, Mahmoud Ben Hassine, Jinwoo Bae
フィールドサマリー
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
必須プロパティを確認してください - entityManagerFactory が存在する必要があります。protected void
実際の書き込み操作を実行してください。void
setClearPersistenceContext
(boolean clearPersistenceContext) 書き込みの最後に永続コンテキストをクリアしてフラッシュする必要があることを示すフラグ (デフォルトは true)。void
setEntityManagerFactory
(jakarta.persistence.EntityManagerFactory entityManagerFactory) EntityManager を内部で使用するように設定します。void
setUsePersist
(boolean usePersist) EntityManager がマージの代わりに永続化を実行するかどうかを設定します。void
永続コンテキストにまだない提供されたすべてのアイテムをマージしてから、エンティティマネージャーをフラッシュします。
フィールドの詳細
logger
protected static final org.apache.commons.logging.Log logger
コンストラクターの詳細
JpaItemWriter
public JpaItemWriter()
メソッドの詳細
setEntityManagerFactory
public void setEntityManagerFactory(jakarta.persistence.EntityManagerFactory entityManagerFactory) EntityManager を内部で使用するように設定します。- パラメーター:
entityManagerFactory
- 設定する entityManagerFactory
setUsePersist
public void setUsePersist(boolean usePersist) EntityManager がマージの代わりに永続化を実行するかどうかを設定します。- パラメーター:
usePersist
- マージの代わりに永続化を使用するかどうか。
setClearPersistenceContext
public void setClearPersistenceContext(boolean clearPersistenceContext) 書き込みの最後に永続コンテキストをクリアしてフラッシュする必要があることを示すフラグ (デフォルトは true)。- パラメーター:
clearPersistenceContext
- 設定するフラグ値- 導入:
- 5.1
afterPropertiesSet
必須プロパティを確認してください - entityManagerFactory が存在する必要があります。- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
- 例外:
ExceptionSE
write
永続コンテキストにまだない提供されたすべてのアイテムをマージしてから、エンティティマネージャーをフラッシュします。- 次で指定:
- インターフェース
ItemWriter<T>
のwrite
- パラメーター:
items
- 書きこまれる項目。null
であってはなりません。- 関連事項:
doWrite
実際の書き込み操作を実行してください。必要に応じて、サブクラスでこれをオーバーライドできます。- パラメーター:
entityManager
- 操作に使用する EntityManageritems
- 書き込みに使用するアイテムのリスト