クラス 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
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected static final org.apache.commons.logging.Log
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    必須プロパティを確認してください - entityManagerFactory が存在する必要があります。
    protected void
    doWrite(jakarta.persistence.EntityManager entityManager, Chunk<? extends T> items)
    実際の書き込み操作を実行してください。
    void
    setClearPersistenceContext(boolean clearPersistenceContext)
    書き込みの最後に永続コンテキストをクリアしてフラッシュする必要があることを示すフラグ (デフォルトは true)。
    void
    setEntityManagerFactory(jakarta.persistence.EntityManagerFactory entityManagerFactory)
    EntityManager を内部で使用するように設定します。
    void
    setUsePersist(boolean usePersist)
    EntityManager がマージの代わりに永続化を実行するかどうかを設定します。
    void
    write(Chunk<? extends T> items)
    永続コンテキストにまだない提供されたすべてのアイテムをマージしてから、エンティティマネージャーをフラッシュします。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • 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

      public void afterPropertiesSet() throws ExceptionSE
      必須プロパティを確認してください - entityManagerFactory が存在する必要があります。
      次で指定:
      インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
      例外:
      ExceptionSE
    • write

      public void write(Chunk<? extends T> items)
      永続コンテキストにまだない提供されたすべてのアイテムをマージしてから、エンティティマネージャーをフラッシュします。
      次で指定:
      インターフェース ItemWriter<T>write 
      パラメーター:
      items - 書きこまれる項目。null であってはなりません。
      関連事項:
    • doWrite

      protected void doWrite(jakarta.persistence.EntityManager entityManager, Chunk<? extends T> items)
      実際の書き込み操作を実行してください。必要に応じて、サブクラスでこれをオーバーライドできます。
      パラメーター:
      entityManager - 操作に使用する EntityManager
      items - 書き込みに使用するアイテムのリスト