私たちは、コマンドとクエリの分離方法でデータベースレイヤーへの書き込みと読み取りを行うクラスをいくつか持っています。spring @ Transactionalアノテートされたメソッドを1つのトランザクションで実行する
これらのクラスのそれぞれには、@Transactionalで@Transactional(readOnly = true)というアノテーションが付けられています。
これで、多くのオブジェクトを作成し、コマンドレイヤーを使用してデータベースに書き込むデータインポートを実装しました。
今のところ、1つのオブジェクトの書き込みはそれぞれの中でで実行されていますが、これは主要なパフォーマンスのキラーです。
1つのトランザクションでを何度も実行しても、コマンドレイヤーで多くの@Transactional注釈付きメソッドを何度も呼び出すにもかかわらず、データインポートクラスに注釈を付ける簡単な方法はありますか??
これは挿入パフォーマンスを向上させる有効なアプローチですか、これは悪い考えですか?
親メソッドに注釈を付けるだけです。それらをすべてと呼ぶもの。 1つのトランザクションでこれをすべて実行すると、実際にはたくさんのものが一緒に処理されるので、実際には好ましいでしょう... –
私はすでにこれを試しましたが、一見無意味ですが、そうではありません。 \ @トランザクションメソッドを別のインスタンスから呼び出すと、自動的に新しいトランザクションが作成されます。 – SebastianRiemer
に依存します。あなたのメソッドでは、 'インターフェイス'を介してautowired? AspectJ製織を使用していますか? –