1. ホーム

[解決済み】物体を水和するとはどういう意味ですか?

2022-04-02 08:47:23

質問内容

物体に水分を与えるというのは、どういう意味でしょうか?

異なる表現(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" を使う場合、通常はパフォーマンスの最適化が動機となります(あるいは既存の最適化をデバッグする場合もあります)。たとえライブラリが、オブジェクトにデータを投入するタイミングや方法を細かく制御できるとしても、タイミングやパフォーマンスは、その名前やライブラリの機能の主要な動機ではないように思われます。このライブラリは、エンドツーエンドのマッピングとスキーマの保存を可能にすることに重点を置いているようだ。