[解決済み】物体を水和するとはどういう意味ですか?
質問内容
物体に水分を与えるというのは、どういう意味でしょうか?
異なる表現(RDMS→OOPS→XML)の間でデータを変換するHydrateというJavaプロジェクトをウェブ上で見かけます。これは、オブジェクトの水和の一般的な意味、つまり、表現間でデータを変換することでしょうか?保存された表現からオブジェクトの階層を再構築することを意味するのでしょうか?
どのように解決するのか?
より一般的な用語に関して 水和物
オブジェクトのハイドレイティングとは、メモリ上に存在し、ドメインデータ("real"データ)をまだ含まないオブジェクトを取り出し、ドメインデータ(データベース、ネットワーク、ファイルシステムなど)を投入することである。
この回答に対するErick Robertsonのコメントより。
<ブロッククオートデシリアライゼーション == インスタンシエーション + ハイドレーション
もしあなたが驚異的なパフォーマンスを心配する必要がなく、データアクセスAPIの内部にあるパフォーマンス最適化のデバッグをしないのであれば、おそらくハイドレーションを明示的に扱う必要はないでしょう。通常は デシリアライズ 代わりに、より少ないコードを書くことができます。データアクセスAPIによってはこのオプションがないものもあり、その場合は水和のステップを明示的に自分で呼び出す必要があります。
Hydrationの概念についてもう少し詳しく知りたい場合は、以下を参照してください。 エリック・ロバートソンの回答 をご覧ください。
に関して ハイドレートと呼ばれるJavaプロジェクト
このフレームワークについて具体的に質問されたので調べてみました。
私の知る限り、このプロジェクトでは、quot;hydrate"という単語は、あまり一般的な意味で使われていないと思うのですが。私は、タイトルにあるように、「連載」とほぼ同義語として使われていると見ています。上記で説明したように、この使い方は完全には正確ではありません。
ご覧ください。 http://en.wikipedia.org/wiki/Serialization
データ構造やオブジェクトの状態を、保存可能な形式に変換し [...] 、後で同じコンピュータ環境または別のコンピュータ環境で再構築できるようにすることです。
で直接名前の由来がわからない。 ハイドレートFAQ でも、その意図のヒントは得られました。Hydrateという名前を選んだのは、このライブラリの目的が、有名なサウンドアライクである Hibernate フレームワーク しかし、それは正反対のワークフローを念頭に置いて設計されたものです。
Hibernateを含むほとんどのORMは、インメモリ・オブジェクトモデル指向で、データベースのことは二の次です。Hydrateライブラリは、代わりにデータベーススキーマ指向のアプローチを取り、リレーショナルデータ構造を保持し、その上でプログラムがよりクリーンに動作するようにします。
比喩的に言えば、やはりこのライブラリの名前に敬意を表して。 ハイドレート は、quot;何かを使用できるようにするようなものです(再水和させるようなもの)。 乾燥食品 ). の比喩的な反対語です。 ハイバーネート というように、冬の間、何かをしまっておくようなものです(例えば 動物の冬眠 ).
Hydrateというライブラリの名前は、私の知る限り、コンピュータ・プログラミングの一般用語であるquot;hydrate"とは無関係のものである。
一般的なコンピュータ・プログラミング用語である "hydrate" を使う場合、通常はパフォーマンスの最適化が動機となります(あるいは既存の最適化をデバッグする場合もあります)。たとえライブラリが、オブジェクトにデータを投入するタイミングや方法を細かく制御できるとしても、タイミングやパフォーマンスは、その名前やライブラリの機能の主要な動機ではないように思われます。このライブラリは、エンドツーエンドのマッピングとスキーマの保存を可能にすることに重点を置いているようだ。
関連
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] Inversion of Controlとは?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み] シンクロナイズド」とはどういう意味ですか?
-
[解決済み】「インターフェースに合わせたプログラム」とはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SerializationとMarshalingの違いは何ですか?
-
[解決済み] トークンのシンタックスエラー、これらのトークンを削除してください [closed].
-
[解決済み] JVMフラグCMSClassUnloadingEnabledは、実際に何をするのですか?
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] javax.mail.MessagingException: SMTPホストに接続できませんでしたか?
-
[解決済み] ORA-01654: インデックスを拡張できません。
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] 文字列の長さに応じて文字列をトリミングする
-
[解決済み] Maven: assembly-pluginが全く実行されない