DB(およびS3)の代わりにエンティティ内のバイト配列またはストリームをトランスペアレントにディスクに保存できますか?もちろん、プロパティが要求されたときにそれを読んでコース)、私は類似の何かを行うドキュメントや例を見つけることができません。出来ますか?これがどのように実施されるかについてのヒント? IUserType? IEntityPersister?NHibernateがファイルシステムまたはS3にトランスペアレントにバイト配列を格納させるようにしてください。
答えて
threadをチェックしてください。
IUserTypeおよび/またはIEntityPersisterは、ロード/挿入/更新/削除時にエンティティの一部またはエンティティ全体を処理する方法を定義します。
あなたの場合は、より低いレベルのORM抽象化を定義する必要があります.HTibernate.Dialect.Dialect、NHibernate.Connection.IConnectionProvider、およびNHibernate.Driver.IDriverの実装を記述する必要があります。その後、NHibernateオブジェクトを永続化する完全な制御ができます。
あなたのニーズがはるかに単純で、データをデータベースに保存しながらディスクに保存するだけであれば、NHibernateロード/セーブプロセスにリスナーを追加することができます。名前空間NHibernate.Event(IAutoFlushEventListener、IMergeEventListener、IPersistEventListenerなど)を確認します。使用例はhereです。
blobのキーをデータベースに格納し、このキーを使用してユーザータイプがデータベースから読み取られたときにblobを取得すると、IUserTypeを使用することができます。しかし、データベースとBLOBストレージ全体のトランザクション管理が問題になります。
(N)Hibernateのこの拡張性メカニズムのドキュメントは素晴らしいものではないため、Entity Persisterは多くの仕事を書くことができます。それらはリレーショナルデータベースに非常に適していますが、他のストレージメカニズムにアクセスするために使用できます。
実際にイベントトリガーを使用すると、最適なオプションが提供される可能性があります。それらは、エンティティのライフサイクルイベントおよびそれらが発生するトランザクションに対して、きれいでコンパクトなインタフェースを提供します。
- 1. アップロードされたビットマップをバイト配列に変換してSQL Serverに格納
- 2. バイト配列に格納されたイメージをWebViewにロードするには?
- 3. バイト配列にintを格納する
- 4. インスタンスが配列リストに格納されていません
- 5. 値が配列に格納されていませんか?
- 6. 関数が呼び出されるたびに配列内にjQueryを格納しないでください
- 7. int32をバイト配列に格納
- 8. C#:バイト配列をXMLに格納
- 9. 配列に格納されたアドレス
- 10. Powershellを使用してSQLにバイト配列を格納する
- 11. アスキー文字は8バイト、変換されたワードは32バイトにどのように格納されますか
- 12. 配列に格納された値によるSQLグループ
- 13. C++は、文字列に格納されているデータ型のバイト配列を宣言します。
- 14. 即時からバイトの配列にバイトを格納するMIPS
- 15. Redisが配列に格納されています
- 16. JSX - レンダリングコードが配列に格納されています
- 17. ガベージ文字が配列に格納されています
- 18. 同じイメージが配列に格納されています - nodejs
- 19. バイト配列として格納された画像を反転する
- 20. vb.net:my.settingsプロパティに格納されているデータを選択してください。
- 21. Ember.jsバインディングモデルが配列内に格納されている
- 22. PHP画像がバイト配列として格納されているときに画像サイズを取得する
- 23. バイト配列にシリアル化すると、IOExceptionがスローされました(発生しないでください)
- 24. JSONObject文字列がsharedpreferencesに格納されていません
- 25. VueJSのVuexに格納されている配列を見る
- 26. 配列に必要なパラメータが格納されていません
- 27. 値は配列メソッドにどのように格納されますか?
- 28. 配列のインデックスは新しい配列に格納されます
- 29. C++配列に間違った値が格納される
- 30. どのように関数をパラメータに格納して配列に格納し、順次実行しますか?