-1

私の要件:

cronトリガーの目的でQuartz を使用しています。多くのトリガーは同じ行で実行されていますが、異なる列に基づいています。そのため、トリガーが関連する列を更新する必要がある場合。Session.refresh(object)トリガーは、最初にオブジェクトがそれに属する(トリガーの開始時に選択された)オブジェクトをデータベースからrefresh( )してからUPGRADE LOCK、行レベルで取得します。ロックの取得に成功した場合は、列session.update(object)を更新し、DB で更新するために使用します。そしてロックを解除。

session.refresh(Object, LockMode.UPGRADE)hibernate を使用してダーティ アップデートを回避するための代替手段と効率的な方法は何ですか?

hibernate で廃止されるのはなぜですか?

4

1 に答える 1

5

session.refresh(Object, LockMode.UPGRADE)hibernate を使用してダーティ アップデートを回避するための代替手段と効率的な方法は何ですか?

ドキュメントのすぐそこにあります:

非推奨LockModeパラメータを次のように置き換える必要がありますLockOptions

たとえば、 を使用しますrefresh(Object,LockOptions)

理由はわかりませんが、代わりに何をすべきかは明らかです。(そして がありLockOptions.UPDATEます。)

于 2015-08-17T07:36:01.187 に答える