jdbctemplateを使用してJavaプロジェクトを実行しています。このプロジェクトでは、500レコードのバッチサイズで2000レコードの更新が行われています。jdbctemplateによるスプリングトランザクション管理
私は単一の更新クエリを使用しているので、私は春のトランザクション管理を使用する場合、アプリケーションの改善はありますか?それはコードとしての性能に役立つだろう、私の知識を1として
jdbctemplateを使用してJavaプロジェクトを実行しています。このプロジェクトでは、500レコードのバッチサイズで2000レコードの更新が行われています。jdbctemplateによるスプリングトランザクション管理
私は単一の更新クエリを使用しているので、私は春のトランザクション管理を使用する場合、アプリケーションの改善はありますか?それはコードとしての性能に役立つだろう、私の知識を1として
も、私が直接にリスト内に存在するエンティティを保存
@Override
public <S extends Classname> Iterable<S> save(Iterable<S> arg0);
を使用することをお勧めだけ
たら、データベースを打つために起こっていますjdbcTemplateまたはトランザクション管理を使用しないデータベース
これは、要件によって決まります。 2000レコードが定数でなければならない場合は、トランザクション管理を使用する必要があります。そうでなければ、毎回1レコードを処理できます。
あなたが私の質問を理解したかどうかわかりません – Ankit
これは間違いなくあなたを助けることができます。 @Transactionalアノテーションで注釈が付けられたJavaメソッドで、500レコードのバッチ・コールを1つずつ作成することができます。そうすれば、更新のいずれかが失敗した場合に、春は操作全体をロールバックします。
P.S:トランザクションマネージャを指定する必要があるXML構成は指定していません。ニーズに合った適切なものを追加できます。
あなたは500のバッチサイズでjdbcTemplate.update()を実行していても、2000レコードすべてがデータベースに1回だけヒットすることを意味しますか?また、あなたの提案にもっと詳しく説明できますか? – Ankit
私の提案についての主なものは、** PagingAndSortingRepository **インターフェース –
'パブリック・インタフェースClassRepositoryが \t \tを拡張PagingAndSortingRepository { \t @Override \t公共
反復処理可能を使用することです@ankitjava保存する(Iterablearg0); }「 –