クラス 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実際の書き込み操作を実行してください。voidsetClearPersistenceContext(boolean clearPersistenceContext) 書き込みの最後に永続コンテキストをクリアしてフラッシュする必要があることを示すフラグ (デフォルトは true)。voidsetEntityManagerFactory(jakarta.persistence.EntityManagerFactory entityManagerFactory) EntityManager を内部で使用するように設定します。voidsetUsePersist(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- 書き込みに使用するアイテムのリスト