在实体的 ORM / 延迟加载的上下文中,我对术语“Hydration”的理解如下:
“Hydrating”描述了填充使用延迟加载获取的实体的部分或全部先前未填充属性的过程。
例如:类 Author
从数据库加载:
@Entity
class Author
{
@Id
long id;
List<Book> books;
}
最初,未填充 books
集合。
据我了解,从数据库加载 books
集合的过程称为“Hydrating”集合。
这个定义是否正确,“共同点”一词是否正确?我应该为这个过程使用另一个更常见的术语吗?
原文由 Marty Pitt 发布,翻译遵循 CC BY-SA 4.0 许可协议
Hydrate 最初是一个术语,用于从数据库(特别是在 Hibernate 中)填充实例化(但为空)的值对象/模型。
BizTalk 等各种其他 ORM 和工具使用 Hydrate 和其他相关术语(例如,BizTalk 使用术语 Dehydrated 表示实例可用但尚未填充。)
就我个人而言,我反对冗余的术语大修, 填充 意味着同样的事情,而无需重新发明语言。它没有增加任何内容并导致混淆(遇到重新发明的术语时通常首先想到的是: 这是不是有点不同和神奇? )。
这种语言风格的 BizTalk 扩展,特别是 Dehydrated 是多余的。我想人们还没有忘记怎么说, empty ,还是 clear ?
Hydrated 及其相关隐喻本质上是营销工具,发明它们是为了将 Hibernate 与竞争产品区分开来。
在这一点上,Hibernate 和其他 ORM 产品多年来一直使用这些术语,因此 Hydrate(和 Dehydrate)将保留下来。