3

私が取り組んでいるアプリケーションでは、春、休止状態、envers を監査に使用しています。envers は、hibernateTemplate.inserthibernateTemplate.savehibernateTemplate.saveOrUpdateなどの呼び出しで動作します。しかし、hibernateTemplate.bulkUpdateを呼び出すと機能しないようです。

解決策をグーグルで検索したところ、envers が bulkUpdate をサポートしていないことがわかりました。

以下のリンクで回避策が提供されていますが、取得できません。

Envers 一括挿入/更新

誰かがこれに対する回避策/サンプルを提供できると助かります。

ありがとう

4

1 に答える 1

2

ドキュメントは正しいです。HQL およびネイティブ SQL 操作は監査されません。

一括更新のパフォーマンスは監査の影響を受けるため、設計を変更したい場合があります。たとえば、関連する子を持つ親エンティティがあり、子レコードで一括更新を実行している場合、属性を更新できます。親レコードの更新を行い、一括更新を行った後に saveOrUpdate を呼び出します。

別のオプションは、監査テーブルでも手動で一括更新を実行することですが、エレガントにはなりません。上記のようにデザインを変更することで、私の場合は問題を回避することができました。

于 2012-09-17T20:11:13.387 に答える