Com relação ao termo mais genérico hidrato
Hidratar um objeto é pegar um objeto que existe na memória, que ainda não contém dados de domínio (dados "reais") e preenchê-lo com dados de domínio (como de um banco de dados, da rede ou de um arquivo sistema).
Dos comentários de Erick Robertson sobre esta resposta:
desserialização == instanciação + hidratação
Se você não precisa se preocupar com um desempenho empolgante e não está depurando otimizações de desempenho que estão nas internas de uma API de acesso a dados, provavelmente não precisa lidar com a hidratação explicitamente. Você normalmente usaria desserialização para poder escrever menos código. Algumas APIs de acesso a dados não oferecem essa opção e, nesses casos, você também deve chamar explicitamente a etapa de hidratação.
Para um pouco mais de detalhes sobre o conceito de hidratação, veja a resposta de Erick Robertson sobre essa mesma pergunta.
Você perguntou especificamente sobre essa estrutura, então eu a examinei.
O melhor que posso dizer, não acho que este projeto tenha usado a palavra "hidrato" em um sentido muito genérico. Eu vejo o seu uso no título como um sinônimo aproximado de "serialização". Como explicado acima, esse uso não é totalmente preciso:
Veja: http://en.wikipedia.org/wiki/Serialization
traduzindo estruturas de dados ou estado do objeto em um formato que pode ser [...] armazenado e reconstruído posteriormente no mesmo ou em outro ambiente de computador.
Não consigo encontrar o motivo por trás do nome deles diretamente no FAQ sobre hidratos , mas tenho pistas sobre a intenção deles. Eu acho que eles escolheram o nome "Hydrate" porque o objetivo da biblioteca é semelhante à estrutura popular do Hibernate , semelhante ao som , mas foi projetada com o fluxo de trabalho exatamente oposto em mente.
A maioria dos ORMs, incluindo o Hibernate, adota uma abordagem orientada ao modelo de objeto na memória, com o banco de dados tendo uma segunda consideração. Em vez disso, a biblioteca Hydrate adota uma abordagem orientada ao esquema de banco de dados, preservando suas estruturas de dados relacionais e deixando o programa trabalhar sobre elas de maneira mais limpa.
Metaforicamente falando, ainda com relação ao nome desta biblioteca: Hidrato é como "preparar algo para ser usado" (como reidratar os alimentos secos ). É um oposto metafórico do Hibernate , que é mais como "guardar algo para o inverno" (como Animal Hibernation ).
A decisão de nomear a biblioteca Hydrate, tanto quanto posso dizer, não estava relacionada ao termo genérico de programação de computadores "hydrate".
Ao usar o termo genérico de programação de computador "hidratar", as otimizações de desempenho geralmente são a motivação (ou depuração das otimizações existentes). Mesmo que a biblioteca suporte controle granular sobre quando e como os objetos são preenchidos com dados, o tempo e o desempenho não parecem ser a principal motivação para o nome ou a funcionalidade da biblioteca. A biblioteca parece mais preocupada em ativar o mapeamento de ponta a ponta e a preservação de esquema.