問題タブ [nhibernate-envers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
92 参照

jpa - リビジョン テーブルを使用してビジネス データを保存していますか?

プロジェクトで Hibernate Envers を使用して、すべてのデータベース テーブルの完全なリビジョンを保存します。

これらのシャドー テーブルをビジネス データの取得に使用することをお勧めしますか (たとえば、エンティティの作成日/変更日/ビジネスの「履歴」)、またはビジネス エンティティ内でビジネス データを統合する方がはるかに優れた方法でしょうか (どういうわけかそれを複製します)。もちろん、シャドーテーブルには作成日時なども保存されます)、enversに魔法を働かせますか?

envers テーブルからのアクセスと取得は、最も効果的ではない場合があることに注意してください。

前もって感謝します!

0 投票する
0 に答える
153 参照

c# - コンパイルでエラーなしで、Envers を使用して作成されていないテーブル

次のコードでテーブルを作成してみます。

しかし、スキーマでは、テーブルが見えません。

ここ(テスト)を使用してコードを実装しようとします。次に、nhibernate オブジェクトをデバッグします。Cfg.NHibernate.Configuration config私のプロジェクトではマッピングをキャッチできません。テストでは、作成されるマッピングが表示されます。

次に何をする必要があるのか​​ わかりません。

0 投票する
1 に答える
221 参照

.net - nHibernate Envers 削除されたリビジョンの履歴レコードを取得

Envers を使用してエンティティの変更をデータベースに保存します。StoreDataAtDelete パラメータを true に設定しましたが、正常に動作します。データベースには履歴データが含まれています。

ただし、監査データをクエリして、削除されたリビジョンの履歴レコードの状態を取得しようとすると、空の結果が返されます。

データベースでは、このリビジョンの監査テーブルに完全なレコード データがあります。削除されたリビジョンのデータを取得する可能性はありますか?

0 投票する
1 に答える
571 参照

c# - NHibernate Envers: プロパティ値に基づくエンティティの監査

私は監査に対して非常に具体的なニーズがあります。

次のクラスを検討してください (簡単にするために、クラスの名前を変更し、不要なコードを削除しました)

Orders プロパティが空でない場合にのみ、Client エンティティを監査する必要があります。

それはまったく可能ですか?もしそうなら、どうすればいいですか?

0 投票する
1 に答える
348 参照

c# - 多対多の関係で監査テーブルをクエリする方法

タグクラスと多対多の関係を持つエントリークラスがあります。エントリの履歴コピーを復元しようとしています。

私はこのようにクエリを試みました:

ただし、TagsプロパティまたはにアクセスしようとするentryRevisionと、エラーが発生します。

NHibernate.LazyInitializationException : Initializing[Unavailable#] - コレクションの遅延初期化に失敗しました。セッションまたはセッションが閉じられませんでした

タグにアクセスしようとすると、セッションがまだ開いていることを確認しました。

テーブルを直接クエリして、このエントリに関連付けられていた可能性のあるすべてのタグ ID を取得することで、この問題を回避したいとTag_Entry_AUD考えていますが、方法がわかりません。HQLクエリでこれを行うことは可能ですか?

0 投票する
1 に答える
497 参照

.net - nhibernate envers: すでに本番環境にあるエンティティの監査

すでに本番環境にあるアプリケーションがあり、Envers を使用して監査を行っています。

今度は、新しい種類のエンティティを監査するアップデートをリリースします。ただし、このエンティティはすでに運用環境に存在し、これまで監査されていませんでした。

既存のレコードを含むテスト環境で試してみましたが、Envers は保存されているエンティティの以前のリビジョンを見つけることができないため、保存時にクラッシュします。

この問題に取り組むためのアプローチは何ですか?

たとえば、エンティティを監査する日付を指定できれば素晴らしいでしょう。

0 投票する
1 に答える
131 参照

nhibernate - Nhibernate を使用した Envers - SetEnversProperty

別のデータベース、スキーマ、およびテーブル サフィックスを使用するように NHibernate.Envers をセットアップしようとしています。なんらかの理由で、設定している構成の変更が無視されます。

サンプルコード

誰か提案はありますか?構成の変更をコミットするために何かが欠けているかどうかはわかりません。