AppEngine for Java(オブジェクト化を介して)のエンティティの基本監査フィールドを効率的に管理するための提案を探しています。 @PrePersist属性は、さまざまな日付フィールド(dateCreated、dateModified、dateDeleted)の良いオプションのように見えますが、エンティティも作成、変更、削除されたユーザーのIDを格納することも考えています。これはデータアクセス層に残すのが最善でしょうか?AppEngineエンティティの監査フィールド
1
A
答えて
1
あなたが言及した日付以上のレコードを格納する必要がある場合は、おそらく監査オブジェクトを作成し、@Embedを使用してそれを監査対象のオブジェクトの内部に格納します。次に、このオブジェクトを更新するために@PrePersistを使用します。これにより、オブジェクト間で一貫した監査フレームワークが得られます。
0
IMHO @PrePersist
はこれを実行するのに最適な場所です。
objectify's polymorphismを使用して、すべての監査フィールドを含む基本クラスを作成して保存することもできます。監査を必要とするすべてのクラスよりも、この基本クラスを拡張するだけです。
関連する問題
- 1. Hibernate - エンティティ監査
- 2. オーバライド監査フィールド@CreatedDate
- 3. Hibernate Envers:@CollectionTableフィールドの監査
- 4. エンティティの変更を監査JPA
- 5. JSP画面フィールドの監査証跡
- 6. Salesforceのシステム監査フィールドに挿入
- 7. エンティティフレームワークコア - 監査
- 8. Javafx監査ログ
- 9. ユーザログイン監査 - ベストプラクティス
- 10. Fortify監査ワークベンチ
- 11. Oracle監査ログ
- 12. エンタープライズデータ監査
- 13. rails監査ログ
- 14. db-rollbacksの監査
- 15. キャメルルートでの監査
- 16. エンタープライズアーキテクトの監査ベースライン
- 17. Exchangeメールボックストラフィックの監査?
- 18. SQLサーバードッカーコンテナの監査
- 19. エンティティJPAから監査情報を残す
- 20. grails監査ログプラグインで監査する特定のフィールドを指定してください
- 21. Djangoモデル監査mixin
- 22. Oracle SYS.AUD $監査アクション
- 23. Laravel監査AuditableTransitionExceptionエラー()
- 24. Hibernate SQL監査ログ
- 25. 監査証跡テクニック
- 26. 監査ログin codeigniter
- 27. Geoserver監査ログは
- 28. テーブルの監査フィールド(CreatedBy、UpdatedBy)。いいアイデアですか?
- 29. アクセス監査検査+履歴ブロック!
- 30. DISABLE/ENABLEトリガーの監査SQL
私が\ @ PrePersistを使用している場合、どのようにしてユーザーIDを保持できますか?私たちがアクセスする必要がある唯一の方法は、HttpSessionから取得するユーザー取得サービスです。この情報を得るには、ドメインエンティティに何らかのサービスを注入するのが一般的なのですか? –
はい。セッションから取得するか、またはクッキーから読み取ることができます。それはあなたのアプリケーションにまったく依存します。一般的に、アプリケーションのDAOレイヤにはdoUpdate(User、Entity)のようなメソッドがあります。 –
私たちはDAOレイヤを持っていますが、doUpdateメソッドごとにユーザーを渡す必要はないとは思いません。 DAO層は本質的にこれを行う方法を知っているべきではありませんか? –