2

私はvert.xプラットフォームに基づく単純なCRUDアプリケーションに取り組んでいます。バックエンド部分にRhino/JavaScriptを使用しているので、Javaクラスを使用できます。つまり、Hibernateは私のORMです。エンティティモードとして「dynamic-map」を使用します。これにより、永続オブジェクトのJavaクラスの代わりにHashMapを使用できます。

質問は、このアーキテクチャでエンティティ/行レベルのアクセス制御を実装する方法です。

インターセプターについて何か読んだことがありますが、許可されていないコンテンツをそこでフィルタリングする方法がわかりませんでした(例外をスローしますか?)。フィルタを使用することもオプションですが、私が理解したように、クエリのみを制御でき、フィルタを保持することはできません。

今のところ私が見つけた唯一の解決策は、前処理/後処理中にデータをフィルタリングすることですが、それがパフォーマンスのボトルネックになる可能性があるのではないかと心配しています。

4

1 に答える 1

0

データが完全に分離している場合、hibernate 4.1はマルチテナンシーサポート(http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch16.html)を備えています。ただし、そうでない場合は、インターセプター(データを永続化する前にデータをマークするため)とフィルター(表示されるはずのデータのみをクエリするため)の両方を使用することをお勧めします。

于 2012-09-03T14:41:27.323 に答える