employee.hbm.xmlにマッピングされたEmployeeという名前のクラスがあります。履歴テーブル、つまり、lastUpdatedやdateCreatedなどの新しい追加フィールドを含むEmployeeテーブルのレコードを保持するEmployee_historyが必要であるという新しい要件があります。Employeeに新しいレコードを作成または更新するときは、Employee_Historyテーブルにも更新する必要があります。それで、それを行うためのより良いアプローチは何でしょうか?私は休止状態に非常に慣れていないか、今日から始まったと言えます。どんな助けでも大歓迎です。
3401 次
2 に答える
5
Enversはあなたのためにそれを行います:
Envers プロジェクトは、永続クラスの簡単な監査/バージョン管理を可能にすることを目的としています。必要な作業は、監査する永続クラスまたはそのプロパティの一部に @Audited で注釈を付けることだけです。監査対象のエンティティごとに、エンティティに加えられた変更の履歴を保持するテーブルが作成されます。これにより、手間をかけずに履歴データを取得してクエリを実行できます。
于 2013-02-22T07:13:20.940 に答える
2
もう 1 つの簡単な方法は、変更されたレコード (もちろん古い値を使用) を履歴テーブルに INSERT することです。コードにいくつかの変更が必要になる場合があります。したがって、編集したレコードをコードに保存する場合は、lastupdated などの必要な追加フィールドとともに、既存のレコードを履歴テーブルに移動するために数行を追加するだけです。
于 2013-02-22T07:59:13.427 に答える